学习vue也有大半年的时间了,因为最近工做不是太忙,就想用vue对以前的电商项目进行一个重构,写了一个移动端的版本,主要包括:用户模块 商品模块 购物车模块 订单模块,github项目地址
感受不错的,反手就是一个赞👍,另外项目还要不少地方须要优化,欢迎你们issue和fork!css
vue2 + vuex + vue-router + webpack + ES6/7 + axios + sasshtml
框架:使用了vue全家桶进行开发,路由跳转使用的是vue-router,数据请求使用了官方推荐的axios插件,使用es6/7进行开发。前端
移动端适配: 因为是web-app,所以须要兼容不一样设备的屏幕的大小,在这里使用的手淘推荐的flexible方案,经过动态的设置根元素的font-size大小,使用rem来进行移动端适配。在这里因为使用rem进行布局,而一般给咱们的设计稿是640px,750px为标准的,在编写的时候把px大小转换为rem也比较麻烦,所以这里使用了postcss-px2rem,在编译的时候会将px自动转换为rem。vue
css预处理器:目前流行的css预处理主要是stylus,less,sass,我的感受less和sass差异不大,stylus缩进式语法有点不太习惯,综上选择了sass进行样式的编写,经过预处理器能够以编程的方式书写css代码,添加变量,函数,样式继承等。html5
后台接口:在这里使用的是慕课网提供的接口:接口文档,相关的教程推荐:电商项目实战webpack
跨域处理:因为使用的外部接口,前端项目运行地址与接口访问地址不一样,浏览器的同源策略使得咱们不得不处理跨域,所以须要对跨域进行简单处理。ios
proxyTable: { '/api': { target: 'http://test.happymmall.com', //源地址 changeOrigin: true, //改变源 pathRewrite: { '^/api': '' //路径重写 } } }
在进行接口请求时在接口路径前加/api便可,编译后会将/api重写为线上的接口地址nginx
在这里主要用vue是把以前慕课网上电商项目进行了重构,作了个移动版本的,功能基本相同,主要是包括4个模块:git
用户模块:登陆,注册,我的信息修改,密码找回,更新密码。es6
商品模块:首页,分类,搜索商品,商品详情
购物车模块:购物车商品增长,删除,全选,单选,多选
订单模块:包括地址的管理,提交订单,订单列表,详情,取消订单等
在这里原本想作支付模块,发现接口返回的二维码失效支付不了,所以只到支付详情这块。
后续:
# install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build # build for production and view the bundle analyzer report npm run build --report