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代码
Mar 16 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
May 06 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
Apr 27 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
Jun 10 Javascript
动态加载jQuery的方法
Jun 16 Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 Javascript
Web Uploader文件上传插件使用详解
May 10 Javascript
Angularjs---项目搭建图文教程
Jul 08 Javascript
JQuery实现DIV其他动画效果的简单实例
Sep 18 Javascript
使用JSON格式提交数据到服务端的实例代码
Apr 01 Javascript
微信小程序获取用户openid的实现
Dec 24 Javascript
vue 实现强制类型转换 数字类型转为字符串
Nov 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
PHP安全下载文件的方法
2016/04/07 PHP
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
采用call方式实现js继承
2014/05/20 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
微信JSAPI支付操作需要注意的细节
2017/01/10 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
python中文乱码的解决方法
2013/11/04 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
基于Django的python验证码(实例讲解)
2017/10/23 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
Everlast官网:拳击、综合格斗和健身相关的体育用品
2020/08/03 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
食品行业求职人的自我评价
2014/01/19 职场文书
二年级语文教学反思
2014/02/02 职场文书
跑操口号
2014/06/12 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
办公室卫生管理制度
2015/08/04 职场文书
python中的3种定义类方法
2021/11/27 Python
服务器间如何实现文件共享
2022/05/20 Servers