0

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

我得到了这个链接

4

1 回答 1

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

于 2021-07-02T17:01:08.477 回答