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静态的url如何传递
May 03 Javascript
Jquery iframe内部出滚动条
Feb 11 Javascript
javascript获取web应用根目录的方法
Feb 12 Javascript
通过onmouseover选项卡实现img图片的变化
Feb 12 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
node.js [superAgent] 请求使用示例
Mar 13 Javascript
详解AngularJS中的依赖注入机制
Jun 17 Javascript
JavaScript中定义类的方式详解
Jan 07 Javascript
微信小程序 教程之模板
Oct 18 Javascript
老生常谈原生JS执行环境与作用域
Nov 22 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
Mar 02 Javascript
如何通过Proxy实现JSBridge模块化封装
Oct 22 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
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
2009/11/14 Javascript
javascript 函数速查表
2010/02/07 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
Python基于动态规划算法计算单词距离
2015/07/25 Python
Python端口扫描简单程序
2016/11/10 Python
python3判断url链接是否为404的方法
2018/08/10 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
css3实现图片遮罩效果鼠标hover以后出现文字
2013/11/05 HTML / CSS
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
《曹刿论战》教学反思
2014/03/02 职场文书
机关单位动员会主持词
2014/03/20 职场文书
留学经费担保书
2014/05/12 职场文书
经典毕业生求职信
2014/07/12 职场文书
安全责任书模板
2014/07/22 职场文书
普通党员个人整改措施
2014/10/27 职场文书
运动会广播稿200字
2015/08/19 职场文书
python 网络编程要点总结
2021/06/18 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android