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 Easyui Tree的oncheck事件实现代码
May 28 Javascript
jquery多浏览器捕捉回车事件代码
Jun 22 Javascript
Javascript中获取出错代码所在文件及行数的代码
Sep 23 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 Javascript
动态加载JS文件的三种方法
Nov 08 Javascript
JavaScript表格常用操作方法汇总
Apr 15 Javascript
使用JavaScript实现ajax的实例代码
May 11 Javascript
Vue.js系列之vue-router(上)(3)
Jan 03 Javascript
Angularjs上传图片实例详解
Aug 06 Javascript
详解React native全局变量的使用(跨组件的通信)
Sep 07 Javascript
你可能不知道的前端算法之文字避让(inMap)
Jan 12 Javascript
浅谈JS中几种轻松处理'this'指向方式
Sep 16 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编码规范-php coding standard
2007/03/16 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
vue项目中导入swiper插件的方法
2018/01/30 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
Python 列表的清空方式
2020/01/13 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
校园广播稿500字
2014/02/04 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
广播节目策划方案
2014/05/23 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
2014年车间工作总结
2014/11/21 职场文书
捐资助学感谢信
2015/01/21 职场文书
公司财务部岗位职责
2015/04/14 职场文书
如何写辞职信
2015/05/13 职场文书