首先,不要在您的Git項目的其他節點模塊
cd ~/your_module && echo "/node_modules" >> .gitignore
其次,如果你的模塊有依賴關係,只是宣佈他們在你package.json
。下面是從我burro模塊
// package.json
{
// ...
"devDependencies": {
"mocha": "~1.8.1",
"hiccup": "~0.1.4"
},
"dependencies": {
"bun": "~0.0.5"
}
}
一個例子對於它的價值,我不實際使用的npm link
功能;我單獨構建/測試所有模塊。如果您需要其他示例,您可以在我的github repositories上看到它們中的一小部分。
我的基本工作流程是這樣的:
- 補丁模塊模塊A
- 凹凸A版本
npm publish
模塊模塊B模塊A的
- 凹凸版本依賴
- 重
npm install
模塊B中的模塊A
- 補丁模塊B與新版本的模塊A一起工作(如果需要)
- 在模塊B凹凸版
npm publish
模塊B
npm link
是很方便的,但我認爲它使/鼓勵太緊你的模塊之間的耦合。我堅信「做一件事,做得好」的口號,並在編寫我的所有模塊時牢記這一點。使用這個工作流程將有助於保持您的功能封裝良好,社區會喜歡您的版本。
至於github位,npm
並不真正關心這一點。作爲一種習慣,在我發佈一個npm publish
之前,我會一直使用模塊版本標記該提交。這裏有一個例子
- 集版本爲 「0.1.5」 在
package.json
git commit -m "bump to version 0.1.5"
git tag v0.1.5
git push origin master --tags
npm publish
現在無論npmjs.org和github.com都同意相同的版本。從任一來源下載你的軟件包的用戶總是會得到同樣的結果。
因此,如果您正在開發一個功能,需要您更改模塊A和模塊B,則基本上每次在A編輯文件時都會執行「修補程序/凹凸/發佈/等等」 , 對 ?你如何設法避免這種情況? – phtrivier 2014-07-21 14:07:16
@phrivier你無法避免它;不應該。這些模塊是分開的,應該相應地進行版本控制。首先模塊化事物的要點是每個庫都可以隨着lib的需求變化而獨立增長。 – naomik 2014-07-23 21:25:07
感謝您的建議。問題是,我主要使用一個模塊來共享代碼,而不是用邏輯來分割或組織。我已經在其他地方被建議分裂/重構/重組,但是我能預見的唯一結果是*更復雜,並且只要他們想要做出最微不足道的改變,就可以爲我的茶友工作。所以我承認我有點癱瘓:/ – phtrivier 2014-07-24 08:16:19