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下有关dom以及xml节点访问兼容问题
Nov 26 Javascript
JavaScript 学习历程和心得分享
Dec 12 Javascript
javascript中判断一个值是否在数组中并没有直接使用
Dec 17 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
Mar 19 Javascript
JSP跨iframe如何传递参数实现代码
Sep 21 Javascript
node.js中格式化数字增加千位符的几种方法
Jul 03 Javascript
JavaScript 继承详解(五)
Oct 11 Javascript
详解Vue自定义过滤器的实现
Jan 10 Javascript
node操作mysql数据库实例详解
Mar 17 Javascript
vue单页面在微信下只能分享落地页的解决方案
Apr 15 Javascript
详解小程序之简单登录注册表单验证
May 13 Javascript
小程序跳转H5页面的方法步骤
Mar 06 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单例模式详细介绍
2015/07/01 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
使用Scrapy爬取动态数据
2018/10/21 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
深入了解Django View(视图系统)
2019/07/23 Python
python的range和linspace使用详解
2019/11/27 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
工程专业应届生求职信
2014/02/19 职场文书
关于五一放假的通知
2015/08/18 职场文书
高中团支书竞选稿
2015/11/21 职场文书
5行Python代码实现一键批量扣图
2021/06/29 Python