簡體   English   中英

如何支持一個 git repo 中的多個私有 npm 包?

[英]How to support multiple private npm packages living in one git repo?

npm非常擅長支持將包發布到全局/中央npm庫,這不適用於私有的應用程序代碼。 npm還支持添加 git repo 作為依賴項,這讓您擁有私有依賴項。

問題是,據我所知,這是最佳實踐,我的npm包往往非常緊湊和小,而我的 git repos 往往更大,並且將包含幾個npm包。 在指向 github URL 時,我不知道有什么方法可以達到這種粒度。 如何解決這個問題?

更新

我接受了“不要這樣做,保持正常狀態”的答案。 我同意這個建議,但 YMMV。

由於多種原因,我建議從一個包含多個包的存儲庫開始是一個壞主意。 您應該將包視為它自己的實體:獨立構建、測試和部署。 話雖如此,每個包都應該存在於自己的倉庫中。

話雖如此,我絕對理解能夠對一個“公共”包執行npm install <package-group>並讓它一次性獲取您需要的所有包的好處。 我建議查看grunt-contrib 模型來實現這一點。 簡而言之,他們有一堆 grunt-contrib- 包(例如 grunt-contrib-coffee),每個包都存放在自己的存儲庫中。 然后他們創建一個單獨的存儲庫,定義父“grunt-contrib”包。 這個父包所做的就是指定對所有子包的依賴關系。 這允許您執行npm install grunt-contrib-coffee (例如)並獲得 grunt-contrib-coffee 包; 或者您可以執行npm install grunt-contrib並一次性獲得整個套件。

希望這可以幫助!

您還可以設置自己的本地 npm 存儲庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM