Webpack 网页包4-什么是与minChunk:Infinity等效的SplitChunk
在webpack 3中,我们曾经能够拥有一个依赖项,并且它的所有依赖项都可以通过以下方式组合在一个“公共块”中:Webpack 网页包4-什么是与minChunk:Infinity等效的SplitChunk,webpack,commonschunkplugin,Webpack,Commonschunkplugin,在webpack 3中,我们曾经能够拥有一个依赖项,并且它的所有依赖项都可以通过以下方式组合在一个“公共块”中: new webpack.optimize.CommonsChunkPlugin({ name: 'common-init', minChunks: Infinity }) 在Webpack4中,您需要使用splitchunk。但是,现在的一切都基于minChunk和test,它不支持“无限”,如果您想得到与上面“类似”的东西,您现在需
new webpack.optimize.CommonsChunkPlugin({
name: 'common-init',
minChunks: Infinity
})
在Webpack4中,您需要使用splitchunk。但是,现在的一切都基于minChunk和test,它不支持“无限”,如果您想得到与上面“类似”的东西,您现在需要使用下面的“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所需的代码要少得多,以强制执行某些依赖关系,最终导致了一个非常特定的“公共块”
有没有更好的方法在Webpack4中实现同样的效果 这最终对我有效:
'common-init' : {
name: 'common-init',
chunks: 'initial',
minChunks: 2,
enforce : true,
priority : 10,
test: (module, chunks) => chunks.some(({ name }) => name === 'common-init')
},