2017-03-04 85 views
0

早上好, 我正在嘗試編寫兩個不同的Angular2應用程序,它們共享相同的業務邏輯,但在佈局,樣式和動畫方面有所不同。在Angular應用程序之間共享腳本

我會做一個「經典」的HTML + CSS + JS網站將創建我的自定義HTML + CSS + JS和參考常見的。 此解決方案的優點是可以輕鬆修復錯誤或修改共享代碼。

因此,例如在網頁的網站結構像這樣的:

└─┬www 
    | 
    ├─┬WebSite1 
    | └ site1.html 
    | └ style1.css 
    | └ script1.js 
    ├─┬WebSite2 
    | └ site2.html 
    | └ style2.css 
    | └ script2.js 
    ├─┬Shared 
    | └ shared.js 

我可以從網站1和WEBSITE2參考「shared.js」。

隨着Angular我明白,我已經構建了兩個不同的應用程序,可能共享「庫」代碼,但如果我必須修改一些共享代碼,我不得不重建這兩個應用程序。

我正確嗎?你有沒有什麼好的建議以更簡單的方式部署兩個應用程序?

+0

創建一個共享的「功能」模塊,並將其作爲版本化軟件包部署到npm。然後每個網站都可以輕鬆安裝共享庫:npm install pixelbits

+0

嗨pixelbits,謝謝你的回答!有了這個解決方案,如果我修改我的軟件包,我需要重建這兩個網站並再次部署它們,這是我的擔憂。我對麼 ? – o0mardok0o

+0

這是正確的。你的軟件包在npm上版本化。如果您想用您的軟件包的更新版本部署您的網站,則需要重新構建它。肯定np。看看這個starter-app:https://www.npmjs.com/package/ng2-starter-app。它演示瞭如何構建和打包模塊。 – pixelbits

回答

0

組織Angular項目有很多種方式,最值得注意的是按功能(即產品功能)和按文件類型(即用於html的不同目錄,用於服務的不同目錄,較少文件等) 在您的情況最適合的是按文件類型,因此您可以從任何其他需要此邏輯的角度應用程序實例中包含業務邏輯模塊,該模塊可能包含相關的services