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 不只是脚本
May 30 Javascript
append和appendTo的区别以及appendChild用法
Dec 24 Javascript
jQuery中:checked选择器用法实例
Jan 04 Javascript
jquery实现页面关键词高亮显示的方法
Mar 12 Javascript
AngularJS用户选择器指令实例分析
Nov 04 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
Jan 10 Javascript
vue.js学习笔记:如何加载本地json文件
Jan 17 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
Mar 01 Javascript
垃圾回收器的相关知识点总结
May 13 Javascript
Vue 技巧之控制父类的 slot
Feb 24 Javascript
javascript使用Blob对象实现的下载文件操作示例
Apr 18 Javascript
避坑之 JavaScript 中的toFixed()和正则表达式
Apr 19 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
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
php session的锁和并发
2016/01/22 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
php可变长参数处理函数详解
2017/02/22 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
webpack3之loader全解析
2017/10/26 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
业务部经理岗位职责
2014/01/04 职场文书
超市开学活动方案
2014/03/01 职场文书
学生党员公开承诺书
2014/05/28 职场文书
《风筝》教学反思
2016/02/23 职场文书
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS