2017-02-22 113 views
2

我們正在忙於構建一個相當大的企業應用程序,它有大量的模塊和組件。我所面對的問題是,我需要允許公司的其他開發人員爲此應用程序開發組件,而不必更改應用程序本身使用的代碼。動態加載模塊? angular2

一個例子是:

「彼得」是從其他業務單元開發者內部的組織需要建立一個圖表組件。我們不希望Peter改變大型應用程序的代碼,而是建立並維護他自己的'模塊'(這些組件將建立在一個設定的界面上,以允許主機應用程序與孩子溝通)圖表「組件),它處理他在圖表組件中需要的所有功能。在較大的應用程序中,我們需要能夠指向此模塊(通過配置)並動態加載它。

這裏的重點是我需要允許任何開發人員引用他自己的模塊,而不需要我的應用程序專門瞭解組件。由於需要在運行時加載,因此我不能在entryComponents或聲明中使用它,應該允許根據使用該應用程序的業務單位的要求進行更改。

我一直在尋找SystemJsNgModuleLoader,但我看不到加載不直接作爲我應用程序組成部分的組件。

我不知道這是否可能,如果我錯過了某個地方的東西。任何指導/意見將不勝感激。

回答

0

源控制

使用git源控制。

發展

開發功能模塊。將它們捆綁到一個可用來源的UMD捆綁包中。這使您的開發人員:

  1. 目標AOT適合於生產發展

部署

期間

  • 負載動態模塊靜態包部署您的模塊作爲版本包NPM (建立私人託管的NPM存儲庫)。

    部署之後,開發人員可以安裝,版本和管理軟件包的依賴關係,就像任何其他的NPM包:

    npm install <package>