我有一个大型客户端项目,我想将其捆绑成 2 个捆绑包而不是 1 个捆绑包。
这是我的依赖树:
所需的输出将是拥有这些捆绑包:
main
那包含着b
x
仅包括a
(因为b
已包含在第一个捆绑包中,我不希望用户多次下载一段代码)。
这是我的优化器配置:
({
appDir: 'www',
baseUrl: 'js/',
mainConfigFile: 'www/js/require.config.js',
dir: 'www-release',
modules: [
{
name: 'main',
exclude: ['x']
},
{
name: 'x',
exclude: ['main']
}
],
optimize: 'none',
removeCombined: true
})
我确实想从main
的整个依赖树中排除x
,但仍然包含我明确需要的模块,例如a
.
我知道:
include
— 显式包含不需要的模块及其整个依赖树。exclude
— 排除一个模块实际上是排除了它的整个依赖树,include
在发生冲突时会覆盖。excludeShallow
— 包括模块的依赖树,不包括模块本身。
有了这个,我看不到一个明确的方法来完成我想要的,你能帮忙吗?