Angular 动态加载模块?角2

Angular 动态加载模块?角2,angular,Angular,我们正忙于构建一个相当大的企业应用程序,它有大量的模块和组件。我遇到了一个问题,我需要允许公司中的其他开发人员为这个应用程序开发组件,而不需要他们更改应用程序本身中使用的代码 例如: “Peter”是组织内另一个业务部门的开发人员,需要构建一个图表组件。我们不希望Peter更改更大应用程序的代码,但相反,他将构建并维护自己的“模块”(这些组件将基于设置的接口构建,以允许宿主应用程序与子“图表”组件通信),该模块处理他在图表组件中需要的所有功能。在更大的应用程序中,我们需要能够指向这个模块(通过配

我们正忙于构建一个相当大的企业应用程序,它有大量的模块和组件。我遇到了一个问题,我需要允许公司中的其他开发人员为这个应用程序开发组件,而不需要他们更改应用程序本身中使用的代码

例如:

“Peter”是组织内另一个业务部门的开发人员,需要构建一个图表组件。我们不希望Peter更改更大应用程序的代码,但相反,他将构建并维护自己的“模块”(这些组件将基于设置的接口构建,以允许宿主应用程序与子“图表”组件通信),该模块处理他在图表组件中需要的所有功能。在更大的应用程序中,我们需要能够指向这个模块(通过配置)并动态加载它

这里的要点是,我需要允许任何开发人员引用自己的模块,而不需要我的应用程序专门了解组件。我不能将它放在entryComponents或声明中,因为它需要在运行时加载,并且应该允许它根据使用该应用程序的业务单元的要求进行更改

我一直在研究
SystemJsNgModuleLoader
,但我发现没有办法加载不直接属于我的应用程序的组件


我不确定这是否可能,也不确定我是否错过了什么。如有任何指导/建议,将不胜感激。

源代码管理

使用Git进行源代码管理

发展

开发功能模块。将它们捆绑到一个具有可用源的UMD捆绑包中。这允许您的开发人员:

  • 适用于生产的静态捆绑包的目标AOT
  • 在开发过程中加载动态模块
  • 部署

    将模块作为版本化包部署到NPM(设置一个由私人托管的NPM存储库)

    部署后,开发人员可以安装、版本和管理包依赖项,就像其他任何NPM包一样:

    npm install <package>
    
    npm安装