2016-11-30 56 views
0

我有一個反應Web應用程序與NPM依賴關係設置。我的應用程序設置爲跟蹤遠程repro,我提交它的src文件夾和package.json。我已經安裝了一個依賴項npm install https://github.com/some-npm-module.git --save。我的.gitignore忽略node_modules/分叉現有git項目中的node_module

也就是說,我的應用程序的文件夾中包含:

.gitignore 
./node_modules/some-npm-module/ 
./src/ 
./package.json 

現在,我需要進行一些修改,一些新公共管理模塊。我應該如何獲得/ node-modules/some-npm-module跟蹤它的repro,而我的應用程序的源代碼仍在跟蹤它的repro?

感謝

回答

0

如果進行修改,一個包,你不能再不會擦除所有定製更新。

但是,您可以執行以下操作:

  • 叉包在github
  • 讓您的分叉回購的變化
  • 發佈它作爲一個獨立的NPM模塊(可以限制的範圍不使它公開)
  • 將這個新模塊包含在您的項目中而不是原來的模塊中。

然後,您將負責維護您的回購並使其保持最新狀態。但是,如果你可以,我建議創建一個擴展原始模塊的類,這樣你就可以保持它的最新狀態,同時仍然能夠使用你的更改(直到突破更新出現)。

如果您的修改是有益於社區的事情,請向該模塊的原始創建者提出拉取請求並將其納入源回購站!

+0

謝謝,這是有道理的分叉。如果我在github上分叉repo,我想將它克隆到我的node_modules目錄中並在其中進行處理。我希望學習的是如何讓我的應用程序跟蹤其repo,而node_modules子目錄跟蹤它自己的應用程序。 git子模塊是最簡單的方法嗎? – walter2011

+0

我想說最簡單的方法是將你的fork作爲npm發佈在不同的名字下。如果你工作到node_modules文件夾,然後運行一個npm更新,你將會擦除所有的自定義代碼。 – xShirase