2017-04-05 45 views
1

背景是否可以在運行時以角度4加載外部模塊?

在考慮中的網絡應用程序由一個主要部分的(排序的框架的),這是對所有用戶和多個模塊,其中的一些爲標準的標準,但它們的一定數量的用戶特定的。

簡單地描述了主要的標準程序,像通信和會話邏輯這樣的標準事物,加載用戶特定的UI(佈局,圖形)模塊,然後利用一組模塊(如按鈕,表格等)是所有用戶的標準。用戶特定的模塊具有通用的接口和功能,僅在佈局和使用的標準模塊(一到十個,通常不同的模塊)上有所不同。用戶特定模塊的數量因用戶而異(大約一到大約十個)。

我們已經有了一個類似這樣的解決方案來實現庫(jQuery,Require.js和Knockout.js是主要的),並且我們很難提供類似於Angular的功能。回答說這是不可能的,爲什麼會是有效的(如果不希望的話)。

的問題

我寧願用戶專用模塊不是有很多原因是該項目的一部分:

  • 標準模塊由不同的團隊保持着比用戶具有高度獨立的開發週期。
  • 有很多用戶,每個用戶都有特定的模塊,這使得在一個項目中管理標準模塊和用戶特定模塊變得不切實際。
  • 標準和用戶專用模塊將相互獨立升級。
  • 用戶特定的模塊至少部分生成或腳手架。

希望的溶液

主程序負載兩組數據 - 可用的用戶專用模塊的列表,其限定模塊應在哪個佔位符元素一起使用的配置。

用戶特定的模塊被加載(通過某些工廠,路由器,任何解決方案),並且儘可能使用像普通模塊一樣的共享通用接口。重要的是,他們可以使用標準項目中的其他標準模塊。

回答

1

這聽起來像依賴注入問題。 爲什麼不申報所有模塊,只能使用您正在注入的模塊。 的意思是,如果你不想/需要它們,你可以設置模擬/空模塊,並將它們替換爲你需要它們的真實模塊。 這就是依賴注入的美麗。

+0

這是我們正在考慮的事情,但它仍然有些次優,因爲兩個項目不能像我們想要的那樣很好地分離,並且需要一個用戶特定模塊列表(這是很長時間)在項目中的某個地方,每當有新的用戶模塊來更新它(和應用程序)。 – Pavel

相關問題