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 相关文章推荐
node.js超时timeout详解
Nov 26 Javascript
jQuery中next()方法用法实例
Jan 07 Javascript
JavaScript学习笔记之JS事件对象
Jan 22 Javascript
js中函数声明与函数表达式
Jun 03 Javascript
XML文件转化成NSData对象的方法
Aug 12 Javascript
JavaScript获取function所有参数名的方法
Oct 30 Javascript
初识简单却不失优雅的Vue.js
Sep 12 Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
深入理解Vue官方文档梳理之全局API
Nov 22 Javascript
JS非行间样式获取函数的实例代码
Jun 05 Javascript
微信小程序实现横向增长表格的方法
Jul 24 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
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
PHP设置图片文件上传大小的具体实现方法
2013/10/11 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
跟老齐学Python之list和str比较
2014/09/20 Python
python返回昨天日期的方法
2015/05/13 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
暑期实践思想汇报
2014/01/06 职场文书
税务干部鉴定材料
2014/02/11 职场文书
产品委托授权书范本
2014/09/16 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
MySQL 如何限制一张表的记录数
2021/09/14 MySQL
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android