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 相关文章推荐
在html页面中包含共享页面的方法
Oct 24 Javascript
window.onload和$(function(){})的区别介绍
Oct 30 Javascript
JavaScript中的console.dir()函数介绍
Dec 29 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
Oct 28 Javascript
jQuery实现本地预览上传图片功能
Jan 08 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
Bootstrap 填充Json数据的实例代码
Jan 11 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
Feb 28 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
Vue内容分发slot(全面解析)
Aug 19 Javascript
JS实现520 表白简单代码
May 21 Javascript
浅谈KOA2 Restful方式路由初探
Mar 14 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
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
详解PHP显示MySQL数据的三种方法
2008/06/05 PHP
php操作xml
2013/10/27 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
js精度溢出解决方案
2012/12/02 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
小程序实现搜索框
2020/06/19 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
AntV F2和vue-cli构建移动端可视化视图过程详解
2019/10/08 Javascript
pymssql ntext字段调用问题解决方法
2008/12/17 Python
Python实现获取某天是某个月中的第几周
2015/02/11 Python
python如何获取服务器硬件信息
2017/05/11 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
实时获取Python的print输出流方法
2019/01/07 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
生产车间实习自我鉴定
2013/09/23 职场文书
中医专业应届生求职信
2013/11/17 职场文书
教你打造完美的创业计划书
2014/01/06 职场文书
运动会解说词50字
2014/01/18 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
配置Kubernetes外网访问集群
2022/03/31 Servers