在 webpack 3 中,我们曾经能够拥有一个依赖项,并且所有的依赖项都通过使用以下方式组合在一个“公共块”中:
new webpack.optimize.CommonsChunkPlugin({
name: 'common-init',
minChunks: Infinity
})
在 Webpack 4 中,您需要使用 splitChunks。然而,现在一切都基于 minChunk 和 test,它不支持“Infinity”,如果你想得到与上面“相似”的东西,你现在需要使用下面的“test”,这样另一个“cacheGroup”不会捆绑这些依赖项:
cacheGroups: {
'common-init' : {
name: 'common-init',
chunks: 'initial',
minChunks: 2,
enforce : true,
priority : 10,
test : /common|somedepInit.js|analyticsDep|otherDepInit/
},
'resources': {
name: 'resources',
chunks: 'initial',
minChunks: 2,
test: /resources/
}
}
虽然这在技术上是我可以使用的解决方案,但使用 Infinity 需要更少的代码来强制执行某些依赖项,最终形成一个非常具体的“公共块”。
有没有更好的方法在 Webpack 4 中实现同样的效果?