splitChunksPlugin中拆分完usedchunks后,会删除其他info的module。如果info.chunks中存在一些没有和usedchunks重叠的chunks,但包含了该module,如果删除的话,那么这些chunks不就拆分不了module了吗?
代码如下:
if (isOverlap(info.chunks, usedChunks)) {
// update modules and total size
// may remove it from the map when < minSize
let updated = false;
for (const module of item.modules) {
if (info.modules.has(module)) {
// remove module
info.modules.delete(module);
// update size
for (const key of module.getSourceTypes()) {
info.sizes[key] -= module.size(key);
}
updated = true;
}
}
上面代码检查了info.chunks和usedchunks是否有重叠,如果info中含有和usedchunks拆分出来的一样的module,会删除该module,那么info.chunks中没有和usedchunks重叠的chunks,但是包含了该module,那么这部分的chunks就不能拆分出该module了?
举例:usedchunks=[chunks 1,chunk 2,chunk3] info.chunks=[chunk 2,chunk 3, chunk 4] usedchunks拆分出module 1,然后删除info.modules中的 module 1,那么待拆分info.chunks时,chunk 4就拆分不了module 1了,这样不合理吧?