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 相关文章推荐
XRegExp 0.2: Now With Named Capture
Nov 30 Javascript
jQuery绑定事件不执行但alert后可以正常执行
Jun 03 Javascript
javascript中FOREACH数组方法使用示例
Mar 01 Javascript
详解AngularJS控制器的使用
Mar 09 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
Mar 31 Javascript
基于javascript的异步编程实例详解
Apr 10 Javascript
vue项目如何刷新当前页面的方法
May 18 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
Vue封装的组件全局注册并引用
Jul 24 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
Dec 04 Javascript
vue实现图书管理系统
Dec 29 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
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
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
IE8 原生JSON支持
2009/04/13 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
Move.js入门
2017/02/08 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
Python实现的knn算法示例
2018/06/14 Python
python+logging+yaml实现日志分割
2019/07/22 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
python如何快速拼接字符串
2020/10/28 Python
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
车间调度岗位职责
2013/11/30 职场文书
人事助理自荐信
2014/02/02 职场文书
政府四风问题整改措施
2014/10/04 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
2016公司年会主持词
2015/07/01 职场文书
学习委员竞选稿
2015/11/20 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python