如何在webpack5中使用ChunkGraph API.splitchunks.cacheGroup



在webpack4:中

splitChunks: {  
cacheGroups: {
a: {
test: (module, chunks)=>{
chunks.every(( chunk ) => { chunk.name === 'xxx' })
}
}
},
}

在webpack5:中

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是真的。

我得到了这个链接

正确的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

最新更新