我有一个可能很大的Angular 2应用程序,我们将它分成多个部分(它可以被视为WebPack术语中的bundle) . 此外,我们将分别构建和部署它们 . 因此,可以从主应用程序动态加载应用程序的不同部分(不在同一Web应用程序中 - 可以在不同物理主机上的多个运行服务中) .

Webpack捆绑速度非常快且很好 . 但正如我从输出中所知,它使用复杂的内部格式(使用映射到实际路径/名称的模块编号) . 此外,代码拆分是通过将模块ID映射到块名称来完成的,然后可以动态加载块名称 .

我看到webpack的问题:

  • 如果它使用数字进行构建,我无法轻松构建可以重复使用某些模块的单独部分,因为模块编号可能会发生冲突 . 我知道recordsPath,但它就像是多项目系统中的黑客(因为在这种情况下我需要支持和维护整个系统的记录) .

  • 我不能简单地使用webpack动态加载/导入任何外部模块(我需要让它像webpack一样工作 . 我可以通过代码分割来模拟这个,但这意味着它只是将现有的某些部分分开(不是外部代码,你也不能为外部应用程序这样做 .

  • 我无法在不同的项目中轻松地重复使用通用模块 . 对于前者我可以在主项目中有模块'A',可以有项目p1和p2,需要导入'A' . 我可以将'A'设为外部,但它可以只是主应用程序中的一些小服务 .

所以任何想法是否可以使用webpack1 / 2或者我应该看看像jspm,System.js,browserify等工具?我喜欢webpack如何处理ts作业(配置灵活,它工作得很快,它可以捆绑很多东西),但这些问题使这些用例有些复杂化 .

提前致谢 .