A Vue.js project
# 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
# run unit tests
npm run unit
# run e2e tests
npm run e2e
# run all tests
npm test
For a detailed explanation on how things work, check out the guide and docs for vue-loader.
个人解释说明:
1.初始化项目之后,安装Vant:npm install vant --save,引入:npm install babel-plugin-import --save-dev,在.babelrc中配置plugins(插件)
"plugins": [
"transform-vue-jsx",
"transform-runtime",
["import",{"libraryName":"vant","style":true}]
]
之后再main.js中引用需要的组件:
import {Button} from 'vant'
Vue.use(Button)
2.移动端的适配器:移动端用Rem + JavaScript完成屏幕适配的方法
<script>
//得到手机屏幕的宽度
let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
//得到html的Dom元素
let htmlDom = document.getElementsByTagName('html')[0];
//设置根元素字体大小
htmlDom.style.fontSize= htmlWidth/20 + 'px';
</script>
3.首页布局和路由设置:meta标签进行设置,加入user-scalable=no不能缩放页面大小 4.首页轮播图:加载Swipe组件,利用Vant实现图片轮播的懒加载->Lazyload 5.easyMock(生成模拟数据)和Axios的使用:npm install --save axios 6.首页商品分类栏的布局:flex布局 7.广告banner的布局,改造swpie组件 8.商品推荐vue-awesome-swiper:npm install vue-awesome-swiper --save,重要!!! ①vue-awesome-swiper详解,封装好后,可以引用到需要的页面:import swiperDefault from '../swiper/swiperDefault',然后注册组件:components:{swiper,swiperSlide,swiperDefault},注册好后直接在使用: ②添加分页器,需要在swiper标签上使用options属性来进行配置:在data里面设置:swiperOption:{ pagination:{ el:'.swiper-pagination' } } 然后在template标签里加入一个div用于显示分页器,注意的是要在swiper-slide外层。
最后是在swiper标签里加入 :options="swiperOption"。就实现了有分页期的效果。9.首页楼层区域布局:组件的封装 10.过滤器:针对小数,@代表的是src目录的意思,这个是webpack的配置,我们可以在/build/webpack.base.conf.js里找到这个配置项 11.首页热卖模块的van-list组件使用 12.编写后端服务接口配置文件 13.安装koa2 npm init -y初始化 npm install --save koa安装 安装MongoDB 完成之后进行连接,再执行npm install mongoose --save 安装mongoose 编写数据库连接配置init.js 14.数据库连接增加Promise支持:我们在作这个init.js文件时,必须确保先连接数据库后,再作其他事情,所以我们需要在所有代码的外层增加一个Promise。return new Promise((resolve,reject)=>{ //把所有连接放到这里 })
20.用户注册数据库操作:Koa2的User.js 接口的完善,引入数据库,前端的业务逻辑判断 21.注册的防重复提交:按钮上绑定loading属性
22.注册时的前端验证:写前端验证,重写注册方法和绑定按钮事件
23.vue的登录界面制作和路由的配置和登录接口的编写
24.登录的前端交互效果制作和登录状态存储
25.商品详细数据的提纯操作:重点node的fs模块
26.批量插入商品详情数据到MongoDB中
27.商品大类的Shema建立和导入数据库
28.批量导入数据完毕
29.编写商品接口
30.完善有关商品的页面以及跳转
31.商品详情的页面模板编写
32.补充商品详细页的滑动切换和吸顶效果:通过van-tabs里的swipeable属性就可以开启滑动切换tab页的效果,通过van-tabs里的sticky 属性可以开启吸顶效果,也叫粘性布局,当Tab滚动到顶部时会自动吸顶。
33.商品列表页,获取数据和交互效果,以及一级栏目和二级栏目的联动
34.商品列表页上拉加载效果的实现
35.商品列表页下拉刷新效果的实现,引入Vant中的PullRefresh组件
36.商品类别分类的Koa2分页服务
37.商品数据上拉加载效果和商品详细数据的获取
38.真实数据的下拉刷新效果
39.Vue中图片失效替补图片的制作方法
40.商品列表页编程式导航的制作
知识点:params和query传参的用法 params传参,路径不能使用path,只能使用name,不然取不到传的数据:this.$router.push({name:'Goods',params:{goodsId:id}}) 取数据时用params获取:this.$route.params.goodsId
query传参,用的是path,而不是name,否则也会出错:this.$router.push({path:'/Goods',query:{goodsId:id}}) 数据使用query:this.$route.query.goodsId
41.购物车页面的的建立:主要知识点在H5新增localStorage本地存储 进入页面要作的第一件事就是取得localStorage里的数据,我们先在data里注册两个属性cartInfo(购物车中商品的信息)和isEmpty(购物是否为空的标识,方便页面呈现),然后再编写具体的getCartInfo()方法
42.购物车中商品的添加
43.显示购物车,清空购物车
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。