多项目构建和使用webpack动态加载模块

Ale*_*ski 5 webpack webpack-dev-server

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

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

我看到webpack的问题:

  1. 如果它使用数字进行构建,我无法轻松构建可以重复使用某些模块的单独部分,因为模块编号可能会发生冲突.我知道recordsPath,但它就像是多项目系统中的黑客(因为在这种情况下我需要支持和维护整个系统的记录).
  2. 我不能简单地使用webpack动态加载/导入任何外部模块(我需要让它像在System.js中一样工作 - System.import(' http:// localhost:9900/data/index.js ')或其他东西像这样.这实际上在webpack中不起作用.我可以通过代码拆分来模拟这个,但这意味着它只是将现有(非外部)代码的某些部分分开,而且对于外部应用程序也不能这样做.
  3. 我无法在不同的项目中轻松地重复使用通用模块.对于前者 我可以在主项目中有模块'A',并且可以有需要导入'A'的项目p1和p2.我可以把'A'作为外部,但它可以只是主应用程序中的一些小服务.

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

提前致谢.