我有一个大型的客户端的项目,我想打包成捆2,而不是1RequireJS优化硬包括
这是我的依赖关系树:
的期望的输出将有这些包:
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
- 包括模块的依赖关系树,而不是包括模块本身。
有了这些,我没有看到明确的方法来完成我想要的,你能帮忙吗?
是这样有效吗? 'name':'x', exclude:['main','b'] }'?你有没有考虑过使用webpack的方式? –
这将不起作用,b将以这种方式在这两个包中丢失。关于webpack - 我有,但现在我坚持requirejs,我不知道什么是切换到webpack的成本。我感觉它不会很快。 – johni