vue全家桶实现的商城web-app,真实数据接口开发

前言

学习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

  1. 开发模式下:须要在config下的index.js进行配置
proxyTable: {
     '/api': {  
         target: 'http://test.happymmall.com', //源地址
         changeOrigin: true, //改变源
         pathRewrite: {
             '^/api': '' //路径重写
         }
     }
 }

在进行接口请求时在接口路径前加/api便可,编译后会将/api重写为线上的接口地址nginx

  1. 生产模式下:在这里使用的是nignx,须要在远程服务器上安装nignx,而后在nginx.conf文件内配置location便可。

功能介绍

在这里主要用vue是把以前慕课网上电商项目进行了重构,作了个移动版本的,功能基本相同,主要是包括4个模块:git

用户模块:登陆,注册,我的信息修改,密码找回,更新密码。es6

商品模块:首页,分类,搜索商品,商品详情

购物车模块:购物车商品增长,删除,全选,单选,多选

订单模块:包括地址的管理,提交订单,订单列表,详情,取消订单等

在这里原本想作支付模块,发现接口返回的二维码失效支付不了,所以只到支付详情这块。

后续:

  1. 在这里只是简单实现了基本功能,固然做为web-app,用户体验是第一位的,后续会持续的对项目进行性能优化
  2. 数据请求这块使用的axios插件,后续会用原生fecth进行实现

项目演示

clipboard.png
clipboard.png
clipboard.png
clipboard.png

项目运行

# 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
相关文章
相关标签/搜索