问题描述
在 webpack4 中:
splitChunks: {
cacheGroups: {
a: {
test: (module,chunks)=>{
chunks.every(( chunk ) => { chunk.name === 'xxx' })
}
}
},}
在 webpack 5 中:
splitChunks: {
cacheGroups: {
a: {
test: (module,{moduleGraph,chunkGraph})=>{
// how to use chunkGraph?
// Which is the equivalent of `chunks.eveny(chunk => chunk.name === 'xxx')`
}
}
},}
如何使用ChunkGraph API?我尝试用这种方式,
return chunkGraph.getChunkModules(module).every((chunk) => {
return new RegExp(`^${root}\\/`).test(chunk.name);
});
但是 chunkGraph.getChunkModules(module).length === 0
是真的。
我得到了这个link
解决方法
正确的 chunkGraph
方法名称是 getModuleChunks
:
{
splitChunks: {
cacheGroups: {
a: {
test: (module,{chunkGraph})=> {
return chunkGraph.getModuleChunks(module).every(chunk => chunk.name
=== 'xxx');
}
}
}
}
}
方法源代码可在您提供的链接中找到:https://github.com/webpack/webpack/blob/a16909c5fd/lib/ChunkGraph.js#L474