vue-cli3使用 DllPlugin 实现预编译提升构建速度


Posted in Javascript onApril 24, 2019

在项目打包上有两个目标:减少打包代码体积和加快打包速度

1. 减少打包体积:

(1)对于用的比较少的库,可以去掉(我去掉了jquery以及lodash),用到的地方,参考源码自己写

(2)非用不可的又比较大的库(我这里用了monaco-edit),使用cdn方式引入

打包体积减少的情况下,自然速度也会有所提升

2. 加快打包速度:

我目前做了这些:

(1)vue-cli2升级到vue-cli3,顺便webpack2升级到webpack4,构建速度一下子从3分钟左右提升到不到1分钟(vue-cli3升级过程 https://3water.com/article/160146.htm

(2)使用 DllPlugin 进行预编译,过程如下:

·    npm install webpack-cli --save-d

·    独立出一套webpack配置webpack.dll.conf,用dllPlugin定义要打包的dll文件;这里我在根目录下新建webpack.dll.conf.js  内容如下

const path = require("path");
const webpack = require("webpack");
module.exports = {
 entry: {
 vendor: [
  "vue-router/dist/vue-router.esm.js",
  "vuex/dist/vuex.esm.js",
  "axios"
 ]
 },
 output: {
 path: path.join(__dirname, "public/vendor"),
 filename: "[name].dll.js",
 library: "[name]_[hash]" // vendor.dll.js中暴露出的全局变量名
 },
 plugins: [
 new webpack.DllPlugin({
  path: path.join(__dirname, "public/vendor", "[name]-manifest.json"),
  name: "[name]_[hash]",
  context: process.cwd()
 })
 ]
};

注意;在vue-cli3中一定要把生成的dll放到public中或者自己去配置publicPath (没仔细看文档掉进坑)

·    package.json中定义运行webpack.dll.conf.js的命令

{
···
 "scripts": {
 "serve": "npm link typescript && vue-cli-service serve",
 <strong>"dll": "webpack -p --progress --config ./webpack.dll.conf.js",</strong>
···
 },
···
}

·    运行npm run dll命令生成dll

·    index.html中加载生成的dll文件

<script src="./vendor/vendor.dll.js"></script>

·    以上已经完成预编译并载入;但是一定不要忘记webpack构建时告诉webpack哪些文件已被预编译,使构建过程忽略这些已预编译的文件;

具体做法就是在vue.config.js的配置文件中添加

const webpack = require("webpack");
module.exports = {
···
 configureWebpack: {
 plugins: [
  new webpack.DllReferencePlugin({
  context: process.cwd(),
  manifest: require("./public/vendor/vendor-manifest.json")
  })
 ]
 }
···
}

总结

以上所述是小编给大家介绍的vue-cli3使用 DllPlugin 实现预编译提升构建速度 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JavaScript prototype对象的属性说明
Mar 13 Javascript
关于document.cookie的使用javascript
Oct 29 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
Javascript中Event属性搜集整理
Sep 17 Javascript
java与javascript之间json格式数据互转介绍
Oct 29 Javascript
JS随机调用指定函数的方法
Jul 01 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
Aug 21 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
基于angular实现三级联动的生日插件
May 12 Javascript
JS实现左边列表移到到右边列表功能
Mar 28 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
vue改变对象或数组时的刷新机制的方法总结
Apr 24 #Javascript
详解Vue源码中一些util函数
Apr 24 #Javascript
vue-cli3 DllPlugin 提取公用库的方法
Apr 24 #Javascript
VUE 实现复制内容到剪贴板的两种方法
Apr 24 #Javascript
详解一个小实例理解js原型和继承
Apr 24 #Javascript
微信小程序实现的一键复制功能示例
Apr 24 #Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
Apr 24 #Javascript
You might like
php设计模式 Template (模板模式)
2011/06/26 PHP
php将时间差转换为字符串提示
2011/09/07 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
WordPress网站性能优化指南
2015/11/18 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
JavaScript 动态创建VML的方法
2009/10/14 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
python利用hook技术破解https的实例代码
2013/03/25 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
python实现图像拼接功能
2020/03/23 Python
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
家长会主持词开场白
2014/03/18 职场文书
和睦家庭事迹
2014/05/14 职场文书
经营目标管理责任书
2014/07/25 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
优秀团员自我评价
2015/03/10 职场文书
表扬信格式模板
2015/05/05 职场文书