Vue 实现CLI 3.0 + momentjs + lodash打包时优化


Posted in Javascript onNovember 13, 2019

在vue-cli 2.0时代,webpack的配置是有独立文件的,包含在build目录下,修改也比较方便

到vue-cli 3.0后,webpack配置被整合到vue-cli的配置中了,需要配置一些打包插件比较麻烦了,比如优化momentjs压缩包,使用webpack-bundle-analyzer等…

研究后发现vue-cli 3.0使用了chainWebpack来支持额外的插件配置,其实和2.0是差不多的

我们这里使用momentjs,lodash和webpack-bundle-analyzer来演示如何配置chainWebpack

安装依赖

chainWebpack已经默认包含在vue-cli中了,无需安装

只需安装webpack-bundle-analyzer和momentjs,lodash,我用的是yarn,所以

yarn add momentjs
yarn add webpack-bundle-analyzer lodash-webpack-plugin --dev //优化要用到的插件

创建vue.config.js

在根目录下创建vue.config.js

vue.config.js

var webpack = require('webpack') //引入webpack库
var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin //引入webpack-bundle-analyzer

module.exports = {
  chainWebpack: config => {
    config.plugin('ignore')
      .use(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/));//忽略/moment/locale下的所有文件
    config.plugin('analyzer')
      .use(new BundleAnalyzerPlugin())//使用webpack-bundle-analyzer 生成报表
    config.plugin("loadshReplace")
     .use(new LodashModuleReplacementPlugin());//优化lodash
  }
}

编译

通过yarn run build 编译并生成报表,图比较老,用的其他项目里面没有lodash

压缩前

Vue 实现CLI 3.0 + momentjs + lodash打包时优化

压缩后

Vue 实现CLI 3.0 + momentjs + lodash打包时优化

参考

webpack 修改插件选项

webpack-chain

以上这篇Vue 实现CLI 3.0 + momentjs + lodash打包时优化就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
JavaScript运行时库属性一览表
Mar 14 Javascript
jquery获取css的color值返回RGB的方法
Dec 18 Javascript
开启BootStrap学习之旅
May 04 Javascript
JS获取一个未知DIV高度的方法
Aug 09 Javascript
9个让JavaScript调试更简单的Console命令
Nov 14 Javascript
如何用js判断dom是否有存在某class的值
Feb 13 Javascript
捕获未处理的Promise错误方法
Oct 13 Javascript
js实现动态添加上传文件页面
Oct 22 Javascript
小程序api实现promise封装过程解析
Nov 21 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 Javascript
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
Nov 13 #Javascript
在vue-cli中引入lodash.js并使用详解
Nov 13 #Javascript
vue 解除鼠标的监听事件的方法
Nov 13 #Javascript
在vue+element ui框架里实现lodash的debounce防抖
Nov 13 #Javascript
element实现合并单元格通用方法
Nov 13 #Javascript
vue之debounce属性被移除及处理详解
Nov 13 #Javascript
Vue的click事件防抖和节流处理详解
Nov 13 #Javascript
You might like
菜鸟修复电子管记
2021/03/02 无线电
基于mysql的bbs设计(五)
2006/10/09 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
可以支持多中格式的JS键盘
2007/05/02 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
使用js实现数据格式化
2014/12/03 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现感知器算法详解
2017/12/19 Python
详解Python字典的操作
2019/03/04 Python
解决python replace函数替换无效问题
2020/01/18 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
创伤外科专业推荐信范文
2013/11/19 职场文书
毕业生自我鉴定
2013/12/04 职场文书
社会发展项目建议书
2014/08/25 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
离婚财产分割协议书
2015/08/11 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
创业计划书之酒厂
2019/10/14 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers