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引起的内存泄漏问题
Oct 08 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
Nov 09 Javascript
基于jquery的复制网页内容到WORD的实现代码
Feb 16 Javascript
jQuery中contents()方法用法实例
Jan 08 Javascript
javascript实现仿百度图片的瀑布流加载效果
Apr 20 Javascript
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
Nov 29 Javascript
jquery 仿锚点跳转到页面指定位置的实例
Feb 14 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
JavaScript中的return布尔值的用法和原理解析
Aug 14 Javascript
Node.js连接Sql Server 2008及数据层封装详解
Aug 27 Javascript
vue路由守卫+登录态管理实例分析
May 21 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
Jan 17 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世纪万年历
2006/12/06 PHP
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
python time模块用法实例详解
2014/09/11 Python
python从sqlite读取并显示数据的方法
2015/05/08 Python
python先序遍历二叉树问题
2017/11/10 Python
Django框架多表查询实例分析
2018/07/04 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
2019/08/19 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
python将数据插入数据库的代码分享
2020/08/16 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
不假外出检讨书
2014/01/27 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书