动态加载模块? angular2

时间:2017-02-22 11:44:35

标签: angular

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

一个例子是:

  

'彼得'是来自组织内部另一个业务部门的开发人员需要构建一个图表组件。我们不希望Peter改变较大应用程序的代码,相反,他会构建并维护自己的“模块”。 (这些组件将构建在一个集合界面之上,以允许托管应用程序与子图表组件进行通信,以处理他的图表组件中所需的所有功能。在较大的应用程序内部,我们需要能够指向此模块(通过配置)并动态加载它。

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

我一直在关注SystemJsNgModuleLoader,但我认为无法加载不直接属于我的应用程序的组件。

我不确定这是否可行以及我是否遗漏了某些地方。任何指导/建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

来源控制

使用Git进行源代码管理。

<强>开发

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

  1. 针对适合生产的静态包的目标AOT
  2. 在开发期间加载动态模块
  3. <强>部署

    将模块作为版本化软件包部署到NPM(设置私有托管的NPM存储库)。

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

    npm install <package>
    
相关问题