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 相关文章推荐
动态加载js的几种方法
Oct 23 Javascript
iframe 异步加载技术及性能分析
Jul 19 Javascript
jquery简单实现网页层的展开与收缩效果
Aug 07 Javascript
ES6新特征数字、数组、字符串
Oct 01 Javascript
js实现对table的增加行和删除行的操作方法
Oct 13 Javascript
javascript中this关键字详解
Dec 12 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
MUI实现上拉加载和下拉刷新效果
Jun 30 Javascript
浅谈React + Webpack 构建打包优化
Jan 23 Javascript
vue学习笔记之作用域插槽实例分析
Feb 01 Javascript
JavaScript随机数的组合问题案例分析
May 16 Javascript
基于redis的小程序登录实现方法流程分析
May 25 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
一周学会PHP(视频)Http下载
2006/12/12 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
php中判断数组是一维,二维,还是多维的解决方法
2013/05/04 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
Javascript快速排序算法详解
2014/12/03 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
three.js搭建室内场景教程
2018/12/30 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
Python+微信接口实现运维报警
2016/08/27 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
python实现俄罗斯方块
2018/06/26 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
设计师大码女装:11 Honoré
2020/05/03 全球购物
会计电算化专业毕业生自荐信
2013/12/20 职场文书
护士工作失误检讨书
2014/09/14 职场文书