我们正在构建一个相当大的应用程序,有很多页面。这些页面可以分为几个不同的页面组,它们之间共享许多公共依赖项,其他组中的页面不使用这些依赖项。
如果我要绘制一个粗略的简化依赖树,它会是这样的:
因此,基本上,两个“类”的页面PA
和PB
,我想通过以下方式将依赖项拆分为包:所有页面之间共享的依赖项(D-3
在这种情况下),我希望在commons
包中拥有它;
PA
仅在页面(D-1
和)之间共享的依赖项,D-2
我希望将其包含在PA
捆绑包中;PB
仅在页面(D-4
和)之间共享的依赖项,D-5
我希望将其包含在PB
捆绑包中;- 仅由单个页面 (
D-6
) 使用的依赖项,它应该是该页面捆绑包的一部分
在当前设置下,因为D-3
和D-4
被D-5
应用程序中超过一半的页面使用,它们被捆绑到commons
包中,因此也按PA
页面类型加载。
有没有办法扩展 next.Js 的 webpack 配置next.config.js
以使用这种方式生成捆绑包optimization.splitChunks
?