vue项目介绍

项目效果展示:这里写图片描述

项目中遇到的问题:

  • 下拉加载更多在chrome浏览器的手机模拟中没有响应mint-ui框架中loadmore自带的loadBottom方法,后来把代码部署到手机上可以正常调用,加载出了更多数据。
  • 使用mint-ui 中的 Swipe,必须给此标签元素设置高度才能正常显示(没设置高度检查元素的时候发现高度为0,内部元素并没有将盒子撑开)

使用到的技术点

  • vue-router路由
  • axios进行网络请求
  • mint-ui indicator(加载提示框)
  • mint-ui Swipe轮播图
  • mint-ui lazy-load (图片懒加载)
  • mint-ui loadMore(上拉加载更多数据)
  • vue preview(缩略图预览)
  • 组件间通信(添加商品至购物车时,购物车数量要改变)

项目打包

执行命令npm run build即可完成打包

打包时要考虑的问题

  • dist文件夹太大?
  • 代码走了缓存,修改代码,重新打包之后,修改并没有生效
  • 只需改了css样式,build.js文件更新?
  • main.js小改动,导致build.js文件更新(文件过大,浪费流量)

对应解决办法:
1、代码压缩:

  • 使用webpack中的uglifyjs-webpack-plugin插件
    (1.6M->852kb)
  • Mint-ui按需引入(852kb->459kb)

2、 提取css插件,设置名称

  • 使用插件extract-text-webpack-plugin
  • 提取css插件,设置名称
new ExtractTextPlugin("[contenthash].css"),

3、build.js文件拆分:提取第三方包

  • 通过插件CommonsChunkPlugin处理入口
// 再加一个入口
vendors:['vue','vue-router','axios','vue-preview'],
//出口
filename:'[chunkhash].js'
plugins配置:
// 提取公共模块
new webpack.optimize.CommonsChunkPlugin({
    // 清单,用来记录使用者和第三方的关系
    names:['vendors','manifest']
}),

4、路由懒加载,用的时候才去加载(节省流量)

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值