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 相关文章推荐
jQuery使用手册之二 DOM操作
Mar 24 Javascript
jqgrid 简单学习笔记
May 03 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
Dec 12 Javascript
jquery中radio checked问题
Mar 16 Javascript
JavaScript中的方法重载实例
Mar 16 Javascript
Bootstrap实现响应式导航栏效果
Dec 28 Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
Mar 27 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
解析vue data不可以使用箭头函数问题
Jul 03 Javascript
Vue.js标签页组件使用方法详解
Oct 19 Javascript
JS出现404错误原理及解决方案
Jul 01 Javascript
在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
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
phpmail类发送邮件函数代码
2012/02/20 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP代码加密的方法总结
2020/03/13 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
Django中使用Celery的教程详解
2018/08/24 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python文件及目录操作代码汇总
2020/07/08 Python
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
介绍一下Linux中的链接
2016/06/05 面试题
甲方资料员岗位职责
2013/12/13 职场文书
活动志愿者自荐信
2014/01/27 职场文书
小学毕业感言50字
2014/02/16 职场文书
大课间活动实施方案
2014/03/06 职场文书
道路交通安全实施方案
2014/03/12 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby