2013-05-05 48 views
5

在那裏有dozens of modules可用,許多履行相同的任務。例如,the list of router modules單獨包含26個模塊。如何選擇節點模塊?

給定一個模塊列表,我如何爲我的需求選擇最好的?我正在尋找一個經過維護,測試並具有一定慣性的人,但我不確定如何弄清哪些模塊符合該標準。

+2

查看哪個GitHub項目擁有最多的星星,叉子並且最近有所更新。或者搜索NPM並按人氣排序:https://npmjs.org/search?q=router – Blender 2013-05-05 22:50:33

+0

最受歡迎的是Connect,Crossroads.js和Journey(按此順序)。 – Blender 2013-05-05 22:53:28

+0

你問你哪一個是最好的,或者徵求建議,這樣你就會明白如何選擇最好的?我要求考慮你剛剛收到的答案是前者,但你似乎在尋求後者。 – doppelgreener 2013-05-05 23:03:11

回答

3

這個答案是基於談話在幾個星期前在舊金山艾薩克Schlueter的(NPM作者,接手的node.js從瑞安達爾職責,工作在Joyent公司 - https://twitter.com/izs

Isaac的主現在的項目是改進NPM,幫助人們弄清包裝的質量。

之前安伏的npmjs.org網站變得更聰明,這裏有要考慮的因素(有些已經被@ 3boll上市)

因素下載

  1. 更新最近怎麼
  2. 更新的歷史(它經常在很長一段時間更新)
  3. 貢獻者人數
  4. 是否有知名/值得信賴的開發人員和維護人員出演過它? [a]
  5. 其他重要的軟件包依賴於它嗎? [b]
  6. 包是有充分記錄的,並有它自己的網站?
  7. 模塊是否具有測試覆蓋率?

Github的因素: 更新:由於NPM 1.2.20和轉發,沒有資源庫字段模塊將顯示缺少資源庫字段警告。 (很不錯,讓人們有點壓力來正確打包模塊。)

  1. 叉號
  2. 的提交
  3. 問題正在被封閉在github上,或已經開了很長時間了同樣的問題數?

並[a]的出演

例如https://npmjs.org/~tjholowaychuk

並[b]快速地從終端看到:

npm view <name_of_module> dependencies

例如: npm view connect dependencies

https://npmjs.org/browse/depended

注意事項:

熱門並不意味着是好的。有很多不太受歡迎的模塊非常好。

不準確的「上次更新」。 NPM可能會顯示該模塊在2年前已更新,但github已在上週更新。如果維護人員沒有在github上更改代碼時更新版本號,就會發生這種情況。

+0

感謝您的深入解答,它一定會很有用。 – 2013-05-07 17:29:13

+0

歡迎您!我把它做成了一個社區維基,這樣其他人也可以更新它。 – 2013-05-07 18:34:18

1

該模塊(用於Node.js的中間件層)滿足您的要求:

連接 - Robust high performance middleware framework

福克斯約500

+1000 commits

最後更新:7天前。

569 NPM包取決於這些模塊https://npmjs.org/browse/depended

附註:上 我與模塊的開發無關,只是我的推薦。

+1

我的問題是關於如何挑選最好的,而不是哪個路由器是最好的。但看看叉的數量,提交次數,上次更新和依賴關係很有趣。 Upvoted。 – 2013-05-06 05:58:19