node-module会把所有的库打包成一个文件
dll会把所有引入的文件拆开,打包成不同的文件。
使用dll技术,对某些库(第三方库:jquery,react,vue…)进行单独打包
当你运行webpack时,默认查找webpack.config.js配置文件
需求:需要运行webpack.dll.js文件
运行指令 -->webpack --config webpack.dll.js
下面的配置就会启动
webpack.dll.js
const{resolve}=require('path');
const webpack=require('webpack');
module.exports={
entry:{
//最终生成的[name]--->jquery
//['jquery']--->要打包的库是jquery
jquery:['jquery']
},
output:{
filename:'[name].js',
path:resolve(_dirname,'dll'),
library:'[name]_[hash]' //打包的库里面向外暴露出去的内容叫什么名字
},
plugins:[
//打包生成一个mainnifest.json--->该文件提供和jquery映射
new webpack.DllPlugin({
name:'[name]_[hash]', //映射库的暴露的内容名称
path:resolve(_dirname,'dll/mainfest.json') //输出文件路径
})
],
mode:'production'
}