webpack代码分割splitChunks 给分割的chunks取名 要求缓存组+库名+hash
时间: 2023-08-07 16:05:02 浏览: 282
webpack4 SplitChunks实现代码分隔详解
可以按照以下方式配置,使用`cacheGroups`的`name`属性结合`[name]`、`[id]`、`[contenthash]`等占位符来构造chunk名称:
```javascript
optimization: {
splitChunks: {
cacheGroups: {
vendor: {
name: 'vendor',
test: /[\\/]node_modules[\\/]/,
chunks: 'all',
},
common: {
name: 'common',
chunks: 'all',
minChunks: 2,
priority: -10,
reuseExistingChunk: true,
},
},
},
},
output: {
filename: '[name].[contenthash].js',
},
```
以上配置将会把所有来自`node_modules`目录下的模块打包到名为`vendor`的chunk中,把所有符合`minChunks`条件的公共模块打包到名为`common`的chunk中,并通过`[contenthash]`占位符生成带有hash的chunk名称。这样做的好处是,当源代码发生变化时,只会重新打包受影响的chunk,其他chunk的hash值仍然保持不变,能够更好地利用浏览器缓存,提高页面加载速度。
阅读全文