2013-04-30 51 views
13

npm非常擅長支持發佈到全球/中央的套件npm repo,這對於私人應用程序代碼並不適用。 npm也支持添加一個git repo作爲依賴項,這可以讓你擁有一個私有依賴項。如何支持生活在一個git倉庫中的多個私有npm包?

問題是,據我所知最好的做法是,我的npm軟件包往往非常小巧,而我的git軟件包往往更大,並且包含幾個npm軟件包。我不知道有什麼方法可以在指向github URL的同時達到這個粒度。如何解決這個問題?

UPDATE

我接受,說回答「不這樣做,留在軌道上。」我同意這個建議,但是YMMV。

+0

我不認爲這是可能的。擁有多個git存儲庫有什麼問題? – TheHippo 2013-04-30 18:31:13

+1

@TheHippo github每個回購費用。 – djechlin 2013-06-24 14:53:40

回答

12

我會建議一個回購與多個包是一個壞主意,開始與以下幾個原因。您應該將包視爲自己的實體:獨立構建,測試和部署。所有這些都說,每個軟件包都應該存在自己的回購協議中。

這就是說,我一定明白能夠做一個「commons」軟件包的npm install <package-group>的好處,並讓它一次抓取所需的所有軟件包。我建議您查看grunt-contrib model來完成此操作。簡而言之,他們有一大堆grunt-contrib-packages(例如grunt-contrib-coffee),每個軟件包都位於自己的倉庫中。然後,他們創建一個單獨的存儲庫,定義父級「grunt-contrib」包。所有這個父包都會指定所有子包的依賴關係。這可以讓你做一個npm install grunt-contrib-coffee(例如)並獲得grunt-contrib-coffee包;或者你可以做npm install grunt-contrib並且一次性完成整個套件。

希望這會有所幫助!

+2

獨立構建,測試和部署與獨立檢查無關。感謝grunt rec,將在某個點進行調查。 – djechlin 2013-06-24 14:56:56

相關問題