Javascript 在angular 2中动态注入编译后的应用程序

Javascript 在angular 2中动态注入编译后的应用程序,javascript,html,angular,webpack,frontend,Javascript,Html,Angular,Webpack,Frontend,我需要由不同的团队独立开发多个Angular 2应用程序。每个团队将安排独立的发布。最后,所有这些应用程序都需要在运行时注入到一个主应用程序中。它们需要作为单页应用程序工作。 我们尝试了Angular 2的延迟加载模块。我们看到的一个障碍是,如果项目解决方案中没有延迟加载模块,我们就无法使用web pack编译主应用程序 以下是我当前解决方案的结构: 这就是我定义路线的方式 我们定义了两条延迟加载两个模块(LazyModule和MoreLazyModule)的路径。这个解决方案很好用。 当我

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

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

这就是我定义路线的方式

我们定义了两条延迟加载两个模块(LazyModule和MoreLazyModule)的路径。这个解决方案很好用。 当我们从解决方案中删除这些模块并尝试使用web pack构建它时,编译器会抛出一个错误。
我们有没有办法将模块解耦,将其作为独立的项目开发,并将这些模块注入到生产中?

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

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

如果是这样的话,我建议你做以下几点:

  • 有一个团队(或个人)负责所有代码 容器应用程序(app.module、app.component、您需要的任何其他通用代码 可能希望在各种应用程序之间共享)-容器应用程序 引用所有子应用程序(并在新的子应用程序更新后立即获取更新) (已添加)
  • 让不同的团队负责不同的子应用程序-这些 团队按照他们的能力准则工作,提交给准则 存储库,但使用整个项目(即 其他团队的子应用程序)在任何时候进行构建

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

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

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

如果是这样的话,我建议你做以下几点:

  • 有一个团队(或个人)负责所有代码 容器应用程序(app.module、app.component、您需要的任何其他通用代码 可能希望在各种应用程序之间共享)-容器应用程序 引用所有子应用程序(并在新的子应用程序更新后立即获取更新) (已添加)
  • 让不同的团队负责不同的子应用程序-这些 团队按照他们的能力准则工作,提交给准则 存储库,但使用整个项目(即 其他团队的子应用程序)在任何时候进行构建

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

您可以在同一个应用程序中创建模块,而不是将这些组件创建为单独的库,然后将它们导入到您的项目中。您好。您是否成功地独立开发和部署了?您可以在同一个应用程序中创建模块,而不是a将这些组件创建为一个单独的库,然后将它们导入到您的项目中。您好。您是否设法独立开发和部署了?我们希望每个应用程序都能独立开发、测试并使用各自的版本号进行部署。我的意思是,团队和存储库也会有所不同。我们实现了此功能AngularJS和RequireJS的一致性。有了新的Angular框架和webpack,我们面临着将模块动态注入应用程序的问题,然后以一种方式将每个子应用程序开发为一个独立的库,该库由主容器应用程序作为任何其他外部库导入(正如Rachit Solanki所建议的).根据特定的上下文,自主测试每个子应用程序可能是一项挑战(例如,如果您有一个中心登录,该怎么办).但是,如果你已经做到了这一点,这意味着你知道如何解决它。我们希望每个应用程序都能独立开发、测试并使用自己的版本号进行部署。我的意思是团队和存储库也会有所不同。我们通过AngularJS和RequireJS实现了这一功能。通过新的Angular框架和网页包,我们面临着将模块动态注入应用程序的问题。这是一种将每个子应用程序开发为独立库的方法,由主容器应用程序作为任何其他外部库导入(正如Rachit Solanki所建议的)。根据特定的上下文,自主测试每个子应用程序可能是一个挑战(例如,如果你有一个中央登录),但是,如果你已经这样做了,这意味着你知道如何解决它