在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需要更少的代码来强制执行某些依赖关系,最终会出现在一个非常具体的#34;#34;。
有没有更好的方法在Webpack 4中实现相同的目标?
答案 0 :(得分:1)
这最终为我工作:
'common-init' : {
name: 'common-init',
chunks: 'initial',
minChunks: 2,
enforce : true,
priority : 10,
test: (module, chunks) => chunks.some(({ name }) => name === 'common-init')
},