1、使用背景:

  1. 前端框架如vue react,它们体积大,构建慢
  2. 版本较稳定,不常升级版本
  3. 所以同一个版本只构建一次即可,不用每次都重新构建

webpack已经内置DllPlugin支持,不用下载插件

  1. 通过DllPlugin打包出的dll文件
  2. 通过DllRefrencePlugin使用dll文件

DllPlugin不适用于生产环境。

2、在build文件夹中新建一个webpack.dll.js文件

const path = require('path')
const DllPlugin = require('webpack/lib/DllPlugin')
const { srcPath, distPath } = require('./paths')module.exports = {mode: 'development',// JS 执行入口文件entry: {// 把 React 相关模块的放到一个单独的动态链接库react: ['react', 'react-dom']},output: {// 输出的动态链接库的文件名称,[name] 代表当前动态链接库的名称,// 也就是 entry 中配置的 react 和 polyfillfilename: '[name].dll.js',// 输出的文件都放到 dist 目录下path: distPath,// 存放动态链接库的全局变量名称,例如对应 react 来说就是 _dll_react// 之所以在前面加上 _dll_ 是为了防止全局变量冲突library: '_dll_[name]',},plugins: [// 接入 DllPluginnew DllPlugin({// 动态链接库的全局变量名称,需要和 output.library 中保持一致// 该字段的值也就是输出的 manifest.json 文件 中 name 字段的值// 例如 react.manifest.json 中就有 "name": "_dll_react"name: '_dll_[name]',// 描述动态链接库的 manifest.json 文件输出时的文件名称path: path.join(distPath, '[name].manifest.json'),}),],
}

1、mode: ‘development’,

为了提高构建速度,一般针对开发环境要打包dll,生产环境不用这个

2、入口

3、在package.json

在 "scripts"中添加
“dll”: “webpack --config build/webpack.dll.js”
然后运行npm run dll

4、使用

html引入

webpack.dev.js中插件

 new DllReferencePlugin({// 描述 react 动态链接库的文件内容manifest: require(path.join(distPath, 'react.manifest.json')),}),

DllPlugin动态链接库插件相关推荐

  1. (十)webpack 和 babel

    webpack 和 babel webpack 面试题 基本配置 拆分配置和merge 启动本地服务 处理ES6 处理样式 处理图片 模块化 总结 高级配置 多入口 抽离css文件 抽离公共代码 懒加 ...

  2. 弄懂webpack,只要看这一片就够了(文末有福利)

    什么是webpack ​ webpack是什么,官网中是这么说的. ​ 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webp ...

  3. 新彩虹世界密码系统是多少_希望最近的世界密码日是我们需要的最后一个

    新彩虹世界密码系统是多少 It has become a cliché because - as is the case with most clichés - it's true. You don' ...

  4. 深入浅出的webpack构建工具---DllPlugin DllReferencePlugin提高构建速度(七)

    阅读目录 一:什么是DllPlugin 和 DllReferencePlugin?作用是什么? 二:在项目中如何使用 DllPlugin 和 DllReferencePlugin? 三:DllPlug ...

  5. 支持插件的消息中间件【msg broker with plugin】 - 知然 - 博客园

    支持插件的消息中间件[msg broker with plugin] - 知然 - 博客园 支持插件的消息中间件[msg broker with plugin] 支持插件的消息中间件 msg brok ...

  6. 进击webpack4 (优化篇)

    进击webpack 4 (基础篇一) 进击webpack4 (基础篇二:配置 一) 进击webpack4 (基础篇三:配置 二) 不解析不依赖第三方模块的模块 noParse 有一些第三方模块,它本身 ...

  7. 【Vue】Vue1.0+Webpack1+Gulp项目升级构建方案的踩坑路

    最近半年在维护公司的一个管理后台项目,搭建之初的技术栈比较混乱,构建方案采用了Gulp中调用Webpack的方式,Gulp负责处理.html文件,Webpack负责加载.vue..js等.而在这一套构 ...

  8. webpack优化相关操作

    1.缩小文件搜索的范围 • 优化loader配置 尽量精确使用 include 只命中需要的文件.     module.exports = {       module: {         rul ...

  9. 趁webpack5还没出,先升级成webpack4吧

    上一次将webpack1升级到3,也仅是 半年前,前端工具发展变化太快了,如今webpack4已经灰常稳定,传说性能提升非常高,值得升级. 一直用着的webpack3越来越慢,一分多钟的编译时间简直不 ...

最新文章

  1. 增强for循环_增强for循环实际用法
  2. linux存储--mmap与sendfile(十七)
  3. app h5 上传按钮多选_稿定小课堂之教你如何制作H5
  4. 用实例讲解Spark Sreaming--转
  5. Serverless 架构下的服务优雅下线实践
  6. mongodb查看数据库和表的信息
  7. 算法训练营08-分治和回溯
  8. 深度学习(30)随机梯度下降七: 多层感知机梯度(反向传播算法)
  9. ajax常见错误和使用总结
  10. 降雨插值_ArcGIS计算土壤侵蚀模数(二)降雨侵蚀力因子R计算
  11. python编程(multiprocessing库)
  12. Linux内核部件分析 设备驱动模型之driver
  13. Oracle账号及客户端下载
  14. anaconda 安装Mosek
  15. 关联规则挖掘(Apriori算法)
  16. android自定义六边形,Android实现六边形图像
  17. 估计标准误差syx_什么是判定系数r2和估计标准误差syx
  18. 个人计算机是由单片,《计算机应础》期终考试卷(B卷).doc
  19. 大数据云原生能力成熟度模型,重磅发布!
  20. 少壮不努力 老大徒伤悲

热门文章

  1. Java 模拟新浪登录 2016
  2. 分析武汉二手房房价信息
  3. 美团住宿业务数据治理体系化思考与实践
  4. 利用Matlab替换图片部分颜色
  5. 华为openEuler(EulerOS)系统 设置yum源
  6. 天大计算机辅助设计与制造考题,2017年CAD工程师认证考题答案及解析
  7. XShell使用SSH密钥对连接阿里云ECS
  8. IDL读取ASCII文件
  9. 升级glibc经验谈!!!
  10. 如何低成本获得流量?分享购的商业模式了解一下