2016-09-06 46 views
3

我已經使用NPM拉下了一個節點模塊,並將其添加到package.json。然而,有必要改變一些模塊的代碼,因爲它不能100%滿足我的要求。如何保留對NPM模塊進行的本地更改?

通常,當我使用節點和git時,我會忽略node_modules目錄並在部署到服務器時使用npm install

我想知道什麼最佳實踐將在我的方案中,有沒有一種方法定義package.json模塊,應該忽略,如果它已經存在本地運行npm install?這已經是所有模塊的默認行爲了嗎?如果有人跑npm update,那該怎麼辦?我會假設該模塊的最新版本將被撤下並會覆蓋我的更改?

或者我已經考慮過爲模塊分配原始的git repo,重新發布我的fork到NPM,然後用它來代替。

技巧和想法,將不勝感激:)

回答

4

或者我想過分叉原混帳回購協議的模塊,重新發布我的叉子NPM,然後使用該代替。

您在這裏有正確的想法。在NPM下,您絕對不希望在託管和版本控制跟蹤的資源之間分割您的擔憂。分叉回購,然後回答這個問題:如果將功能添加到現有模塊,是否可能將合併並儘快發佈到NPM的拉取請求足以滿足您的需求?

如果答案是否定的,因爲功能不符合原始模塊的意圖,您最好創建自己的模塊,並確保在自述文件中記下叉。

如果您正在等待PR,您可以在此期間選擇一個選項。 NPM讓你link directly to your fork's .git file