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父窗口控制只弹出一个子窗口
Apr 10 Javascript
JavaScript 设计模式学习 Singleton
Jul 27 Javascript
JSQL  一个 web DB 的封装
May 05 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
Sep 28 Javascript
javascript跨域刷新实现代码
Jan 01 Javascript
JS网页图片按比例自适应缩放实现方法
Jan 15 Javascript
JS创建类和对象的两种不同方式
Aug 08 Javascript
基于javascript实现简单计算器功能
Jan 03 Javascript
jquery实现图片切换代码
Oct 13 Javascript
javascript self对象使用详解
Oct 18 Javascript
详解JS异步加载的三种方式
Mar 07 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
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禁止页面缓存的代码
2011/10/23 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
php的sso单点登录实现方法
2015/01/08 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
JMenuTab简单使用说明
2008/03/13 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
JS学习之一个简易的日历控件
2010/03/24 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
浅析Node.js查找字符串功能
2014/09/03 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
python对excel文档去重及求和的实例
2018/04/18 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
python取均匀不重复的随机数方式
2019/11/27 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
学生学习总结的自我评价
2013/10/22 职场文书
银行个人求职自荐信范文
2013/12/16 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
学校后勤岗位职责
2014/02/19 职场文书
休学证明范本
2015/06/19 职场文书