以角度2动态注入已编译的应用程序

时间:2017-05-22 15:46:50

标签: javascript html angular webpack frontend

我需要各个团队独立开发多个Angular 2应用程序。每个团队都将安排独立发布。接近最后,所有这些应用程序都需要在运行时注入一个主应用程序。他们需要作为单页应用程序工作。 我们尝试了Angular 2的Lazy加载模块。我们看到的一个障碍是,如果没有项目解决方案中的延迟加载模块,我们就无法使用Web包编译主应用程序。

以下是我目前解决方案的结构:

Image1

这是我定义路线的方式

image2

我们定义了两个延迟加载两个模块的路由(LazyModule和MoreLazyModule)。此解决方案工作正常。 当我们从解决方案中删除这些模块尝试使用Web包构建它时,编译器会抛出错误。 有什么方法可以将模块分离出来,将它们作为独立项目开发,并将这些模块注入生产环境中?

1 个答案:

答案 0 :(得分:0)

延迟加载是解决您问题的方法(至少据我所知)。

如果我理解正确,那么您要构建的应用程序是一个具有外部容器(app.module和app.component)的应用程序,需要协调其他几个独立的应用程序。整个事情需要表现为单页应用程序。

如果是这种情况,那么我建议你做的是:

  • 有一个团队(或负责所有代码的个人) 容器应用程序(app.module,app.component,您的任何其他常用代码 可能想要在各种应用程序之间共享) - 容器应用程序 引用所有子应用程序(并在新的子应用程序时立即获取更新 已添加)
  • 让不同的团队负责不同的子应用程序 - 这些 团队致力于他们的能力代码,提交代码 存储库准备就绪,但使用整个项目(即也是 其他团队的子应用程序)随时构建

我没有看到组织这样的工作有任何问题,只要所有测试都通过(并且测试完全涵盖了应用程序功能),每个团队都会将代码检入中央代码存储库。负责Container应用程序的团队所需的协调工作非常少。