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 相关文章推荐
javascript得到XML某节点的子节点个数的脚本
Oct 11 Javascript
jquery 事件对象属性小结
Apr 27 Javascript
实现动画效果核心方式的js代码
Sep 27 Javascript
js取消单选按钮选中示例代码
Nov 14 Javascript
详解JavaScript中常用的函数类型
Nov 18 Javascript
jquery实现移动端点击图片查看大图特效
Sep 11 Javascript
js省市区级联查询(插件版&无插件版)
Mar 21 Javascript
Angularjs中使用指令绑定点击事件的方法
Mar 30 Javascript
解决微信小程序中的滚动穿透问题
Sep 16 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
Nov 07 Javascript
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
vue特效之翻牌动画
Apr 20 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
基于mysql的论坛(7)
2006/10/09 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
Javascript复制实例详解
2016/01/28 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
Python中AND、OR的一个使用小技巧
2015/02/18 Python
python黑魔法之编码转换
2016/01/25 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
Python爬虫获取页面所有URL链接过程详解
2020/06/04 Python
大学毕业生自我鉴定
2013/11/05 职场文书
商务日语毕业生自荐信范文
2013/11/14 职场文书
优秀护士获奖感言
2014/02/20 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis
使用Redis实现实时排行榜功能
2021/07/02 Redis