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 冒号 使用说明
Jun 06 Javascript
JS清除IE浏览器缓存的方法
Jul 26 Javascript
Jquery实现搜索框提示功能示例代码
Aug 13 Javascript
js全屏显示显示代码的三种方法
Nov 11 Javascript
JavaScript新增样式规则(推荐)
Jul 19 Javascript
JavaScript省市级联下拉菜单实例
Feb 14 Javascript
CodeMirror js代码加亮使用总结
Mar 25 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
Jun 28 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
Mar 18 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
Aug 29 Javascript
jquery分页插件pagination使用教程
Oct 23 jQuery
在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
简单的过滤字符串中的HTML标记
2006/12/25 PHP
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
Python实现图片拼接的代码
2018/07/02 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python实现图像全景拼接
2020/03/27 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
音乐器材管理制度
2014/01/31 职场文书
学习考察心得体会
2014/09/04 职场文书
团代会邀请函
2015/02/02 职场文书
民事辩护词范文
2015/05/21 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python