webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程


Posted in Javascript onJune 10, 2019

DLLPlugin 和 DLLReferencePlugin的使用

DLLPlugin 和 DLLReferencePlugin 用某种方法实现了拆分 bundles,同时还大大提升了构建的速度。

1.首先build文件夹添加----webpack.dll.config.js:

var path = require("path");
var webpack = require("webpack");
module.exports = {
 // 要打包的模块的数组
 entry: {
  vendor: ['vue/dist/vue.esm.js','vue-router']
 },
 output: {
  path: path.join(__dirname, '../static/js'), // 打包后文件输出的位置
  filename: '[name].dll.js',// vendor.dll.js中暴露出的全局变量名。
  library: '[name]_library' // 与webpack.DllPlugin中的`name: '[name]_library',`保持一致。
 },
 plugins: [
  new webpack.DllPlugin({
   path: path.join(__dirname, '.', '[name]-manifest.json'),
   name: '[name]_library', 
   context: __dirname
  }),
 ]
};

2.在package.json的scripts里加上:

"dll": "webpack --config build/webpack.dll.config.js",

3.运行npm run dll 在static/js下生成vendor-manifest.json;

 4.在build/webpack.base.conf.js里加上:

// 添加DllReferencePlugin插件
 plugins: [
  new webpack.DllReferencePlugin({
   context: __dirname,
   manifest: require('./vendor-manifest.json')
  })
 ],

5.然后在index.html中引入vendor.dll.js:

<div id="app"></div>
<script src="./static/js/vendor.dll.js"></script>

至此,配置之后的:

 可以看到npm run build后的时间大幅度减少,在dist打包体积上也比之前的小。在项目优化中,可以很大程度上加快项目的构建速度和减少项目的打包体积。

总结

以上所述是小编给大家介绍的webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
javascript高亮效果的二种实现方法
Sep 14 Javascript
js下通过prototype扩展实现indexOf的代码
Dec 08 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
JQuery中$.each 和$(selector).each()的区别详解
Mar 13 Javascript
Javascript数组Array方法解读
Mar 13 Javascript
JS代码实现table数据分页效果
May 26 Javascript
Bootstrap文件上传组件之bootstrap fileinput
Nov 25 Javascript
js canvas实现QQ拨打电话特效
May 10 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
Mar 21 Javascript
判断js数据类型的函数实例详解
May 23 Javascript
vue中destroyed方法的使用说明
Jul 21 Javascript
使用Ajax实现进度条的绘制
Apr 07 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 #Javascript
JS中实现一个下载进度条及播放进度条的代码
Jun 10 #Javascript
vuex 中插件的编写案例解析
Jun 10 #Javascript
使用webpack搭建vue项目及注意事项
Jun 10 #Javascript
详解iview的checkbox多选框全选时校验问题
Jun 10 #Javascript
前端路由&amp;webpack基础配置详解
Jun 10 #Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
Jun 10 #Javascript
You might like
从零开始学YII2框架(三)扩展插件yii2-gird
2014/08/20 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
Smarty保留变量用法分析
2016/05/23 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
javascript jQuery插件练习
2008/12/24 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
Python enumerate遍历数组示例应用
2008/09/06 Python
python生成器generator用法实例分析
2015/06/04 Python
python八大排序算法速度实例对比
2017/12/06 Python
Python 的AES加密与解密实现
2019/07/09 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
澳大利亚现代波西米亚风格女装网站:Bohemian Traders
2018/04/16 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
网吧消防安全制度
2014/01/28 职场文书
收款授权委托书
2014/10/02 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
2015年社区工作总结
2015/04/08 职场文书
党性修养心得体会2016
2016/01/21 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
导游词之桂林山水
2019/09/20 职场文书
导游词之无锡古运河
2019/11/14 职场文书
使用pytorch实现线性回归
2021/04/11 Python
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis