webpack 之(22) 优化配置 之 dll
这里与webpack(21)的内容差不多 但是思路不一样
webpack(21) 是cdn优化,是不打包node_module,然后引入cdn访问地址
这里是先将node_module先打包一次,后面不需要再打包,直接引用打包好的文件就行,这里的直接引用,还需要以下配置,否则就会出现用的不是打包的jquery,那么生成的文件会非常大
在平时打包过程中,node_module会被打包成一个chunk 文件,但是这样会导致文件太大了
所以:dll技术 会将 这些库单独拆开来打包成不同的文件(chunk)
第一步:
创建 webpack.dll.js
第二步: 在webpack.dll.js
/* 使用dll技术,对某些库(第三方库:jquery,react,vue..) 进行单独打包 当运行webpack时,默认查找webpack.config.js文件 但是我们要执行webpack.dll.js文件 --> webpack --config webpack.dll.js */ const webpack = require("webpack") module.exports = { entry:{ jquery: ['jquery'] }, output: { filename:'[name].js', path:resolve(__dirname,'dll'), library:'[name]_[hash]' //打包的库向外面暴露出去的内容叫什么名字 }, plugins: [ //打包生成一个manifest.json --> 提供和jquery映射 new webpack.DllPlugin({ name:'[name]_[hash]', //映射库的暴露的内容名称 path: resolve(__dirname,'dll/manifest.json') //输出文件路径 }) ], mode:"production" }
执行命令
1 | webpack --webpack.dll.js |
第三步:上面的两个步骤已经实现了打包,那么后面就不需要再打包了,直接引用jquery.js(打包后的)了
配置webpack.config.js
const wepack = require('webpack') const AddAssetHtmlWebpackPlugin = require('add-asset-html-webpack-plugin') module.exports = { plugins: [ //告诉webpack哪些库不参与打包,同时使用时的名称也得变 new webpack.DllReferencePlugin({ manifest:resolve(__dirname,'dll/manifest.json') }), //将某个文件打包输出去,并在html中自动引入该资源 new AddAssetHtmlWebpackPlugin({ filepath:resolve(__dirname,'dll/jquery.js') }) ] }
分类:
webpack
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现