web前端调用dll_webpack使用-详解DllPlugin

本文详细介绍了DLL(Dynamic Link Library)在Web前端中的作用,以及为何在Webpack中使用DllPlugin来提升构建速度。通过DllPlugin,可以将第三方库打包到动态链接库,减少主构建过程中的重复工作。文章展示了DllPlugin的基本配置,包括如何创建dll配置文件,生成dll文件,以及在主构建配置中引用dll。实践表明,合理使用DllPlugin能显著缩短大型项目的构建时间。
摘要由CSDN通过智能技术生成

前言

(时光飞逝,转眼又偷懒了一个多月)

什么是DLL

DLL(Dynamic Link Library)文件为动态链接库文件,在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。

举个例子:很多产品都用到螺丝,但是工厂在生产不同产品时,不需要每次连带着把螺丝也生产出来,因为螺丝可以单独生产,并给多种产品使用。在这里螺丝的作用就可以理解为是dll。

为什么要使用Dll

通常来说,我们的代码都可以至少简单区分成业务代码和第三方库。如果不做处理,每次构建时都需要把所有的代码重新构建一次,耗费大量的时间。然后大部分情况下,很多第三方库的代码并不会发生变更(除非是版本升级),这时就可以用到dll:把复用性较高的第三方模块打包到动态链接库中,在不升级这些库的情况下,动态库不需要重新打包,每次构建只重新打包业务代码。

还是上面的例子:把每次构建,当做是生产产品的过程,我们把生产螺丝的过程先提取出来,之后我们不管调整产品的功能或者设计(对应于业务代码变更),都不必重复生产螺丝(第三方模块不需要重复打包);除非是产品要使用新型号的螺丝(第三方模块需要升级),才需要去重新生产新的螺丝,然后接下来又可以专注于调整产品本身。

基本用法

使用dll时,可以把构建过程分成dll构建过程和主构建过程(实质也就是如此),所以需要两个构建配置文件,例如叫做webpack.config.js和webpack.dll.con

使用 Webpack 构建项目时,我们可以使用 `html-webpack-plugin` 插件来自动生成 HTML 文件,并且将打包后的 JS/CSS 文件注入到 HTML 文件中。其中,`html-webpack-plugin` 也支持一些配置项来满足不同的需求,其中就包括设置生成的 HTML 文件中的版本号。 在生成的 HTML 文件中,我们可以通过以下方式给所有的 JS/CSS 文件添加版本号: ```html <link rel="stylesheet" href="styles.css?v=<%= htmlWebpackPlugin.options.version %>"> <script src="bundle.js?v=<%= htmlWebpackPlugin.options.version %>"></script> ``` 其中,`htmlWebpackPlugin.options.version` 是 `html-webpack-plugin` 的配置项,我们需要将其在 webpack 的配置文件中进行设置。具体操作如下: 1. 安装 `html-webpack-plugin` 插件: ```bash npm install --save-dev html-webpack-plugin ``` 2. 在 webpack 的配置文件中引入 `html-webpack-plugin` 插件: ```javascript const HtmlWebpackPlugin = require('html-webpack-plugin'); ``` 3. 在 `plugins` 数组中添加 `html-webpack-plugin` 的实例,并设置 `version` 配置项: ```javascript plugins: [ new HtmlWebpackPlugin({ template: './src/index.html', version: '1.0.0' }) ] ``` 其中,`template` 指定了模板文件,`version` 指定了版本号。 4. 在模板文件使用 `<%= htmlWebpackPlugin.options.version %>` 来引用版本号: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>My App</title> <link rel="stylesheet" href="styles.css?v=<%= htmlWebpackPlugin.options.version %>"> </head> <body> <div id="app"></div> <script src="bundle.js?v=<%= htmlWebpackPlugin.options.version %>"></script> </body> </html> ``` 这样,就可以在生成的 HTML 文件中给所有的 JS/CSS 文件添加版本号了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值