项目资源和目录设计和mock模拟数据css
psd里面标注坐标(设计师完成),相关使用工具也能够markman来协助辅助html
对于在webpack里面使用的一些小图片,不建议使用雪碧图来进行处理,由于自己webpack会自动帮助处理每一张小图片,因此有时候须要单独切出来一个个小图片,而且分别对应2x和3x的版本前端
2x和3x图是为了适应不一样dpr比例的,不一样比例的显示是不同的.vue
2x就是普通的dpr为1的屏幕使用的node
对于高清屏幕就是用3x,dpr为2或者以上webpack
2x和3x就是尺寸的大小,2x的图片比3x的小git
svg图片(优点是伸缩,图片质量不降低),使用工具转化为图标字体文件来引入,使用于那些图片logo使用github
在使用webpack状况下,小于必定大小的图片会转化为base64而后放到js引入,web
关于drp的科普:vue-cli
window.devicePixelRatio是设备上物理像素和设备独立像素(device-independent pixels (dips))的比例。公式表示就是:window.devicePixelRatio = 物理像素 / dips
非视网膜屏幕的iphone上,屏幕物理像素320像素,独立像素也是320像素,所以,window.devicePixelRatio等于1.
在视网膜屏幕的iphone上,屏幕物理像素640像素,独立像素仍是320像素,所以,window.devicePixelRatio等于2.
icomoon的使用介绍
https://icomoon.io/
课程提供了图标字体的svg文件来使用
. ├── README.md ├── build ├── config ├── data.json ├── index.html ├── node_modules ├── package.json ├── resource ├── src #这里是项目的源代码目录 ├── App.vue ├── assets │ └── logo.png ├── common #公共引用的资源的目录 │ ├── fonts #里面存放了图标字体(svg生成后的) │ └── stylus #stylus的目录 ├── components #vue组件的目录 │ ├── goods │ ├── header │ ├── ratings │ └── seller └── main.js └── static
基于组件化设计
一个模块组件一个目录,这样方便理解和整理代码
建立公共目录common放公共的模块和资源,例如js css stylus和fonts
从icomoon里面处理以后的图标字体会有2个东西,一个是fonts目录,一个是styel.css文件
将styel.css更名为icon.styl,而后去掉里面的分号和大括号来改成stylus的语法的文件
而后放到stylus目录里面去
课程使用的stylus的
mock就是作假数据,这样能够便于先后端分离开发,前端不须要等后端作好数据来开发或者测试验证
data.json是课程提供的https://github.com/ustbhuangyi/vue-sell/blob/master/data.json
须要结合设计图和设计来一块儿看
大体的数据结构以下:
{ "seller":{......}, "goods":{.....}, "ratings":{.....} }
ress来作模拟数据访问的服务器
在vue-cli里面,node安装好了express
在/sell/build/dev-server.js
文件里面编辑
//截取的部分,其余部分略 var app = express() //在实例化express的后面开始编写测试数据的相关策略 var appData = require('../data.json'); // 引入测试数据 var seller = appData.seller; var goods = appData.goods; var ratings = appData.ratings; var apiRoutes = express.Router();// 生成express的路由实例 //这里的意思是访问一个/seller连接,而后返回数据 apiRoutes.get('/seller',function (req,res) { // express的路由实例写法 res.json({ // 返回的是json数据,而且这里是res参数是表明response errno:0, //设计返回的json数据的结构 data:seller }) }); apiRoutes.get('/goods',function (req,res) { res.json({ errno:0, data:goods }) }); apiRoutes.get('/ratings',function (req,res) { res.json({ errno:0, data:ratings }) }); app.use('/api',apiRoutes); // 调用apiRoutes var compiler = webpack(webpackConfig)
npm dev run
而后访问/seller或者/goods 或者/ratings就能看到数据了,相似作了一个api接口服务器