2015-11-09 29 views
0

我們正在使用angular2,typescript和gulp開始一個新項目。目前,我們的應用程序將由兩個子項目組成:一個組件庫(將來可能分解成一個單獨的項目)和使用組件庫的應用程序。 該項目的佈局將是沿着線的東西:ES6進口:選擇更新到外部項目

/project_root 
    /component_library 
     /src 
      /library 
       /components 
       /services 
       ... etc 
    /application 
     /src 
      /app_name 
       /components 
       /services 
       ... etc 

在應用程序的組件將使用來自庫組件(而不是其他全面) 我們希望有乾淨的(非相對)在從庫中導入東西時導入應用程序組件(我們希望避免醜陋的導入「../../../component_library/src/library ... etc」),更重要的是,我們希望能夠將庫代碼移動到單獨的項目而不需要更新導入。

我看到兩種可能的解決方案(不喜歡其中的任何一種):

  1. 添加一飲而盡任務會看的組件庫,並在每一個變化的文件複製到node_modules在/ project_root
  2. 某種simlink的?這樣我們可以將/ project_root/node_modules指向/ project_root/component_library/src?

恐怕第一個解決方案可能無法與應用程序(第一一飲而盡需要做的編譯/複印,則IDE將需要拿起從node_modules變化IDE自動完成很好地工作 - 這看起來像有些東西可能會很慢) 第二種解決方案感覺很糟糕 - 需要由所有檢查回購代碼的人重複。

這裏最好的解決方案是什麼?

回答

0

更重要的是,我們希望能夠將庫代碼移動到單獨的項目中,而無需更新導入。

船舶您component_library與源並將其添加爲node_module依賴。然後,當有人拉你的代碼,他們可以添加一個git遠程代碼,並在這兩個項目上看起來毫不費力。

這是我採用ntypescript的方法。