如何选择节点模块?

时间:2013-05-05 22:40:58

标签: node.js module

dozens of modules可用,许多人完成同样的任务。例如,仅the list of router modules包含26个模块。

鉴于模块列表,我如何才能最好地满足我的需求?我正在寻找一种维护,测试和惯性的方法,但我不知道如何确定哪些模块符合该标准。

2 个答案:

答案 0 :(得分:4)

这个答案基于几周前在旧金山举行的一场演讲,由 Isaac Schlueter (npm作者,接管了Ryan Dahl的node.js职责,在Joyent工作 - https://twitter.com/izs

Isaac现在的主要项目是改善NPM,帮助人们了解包裹的质量。

npmjs.org网站变得更聪明之前,需要考虑的因素(一些已被@ 3boll列出)

<强>因素

  1. 下载次数
  2. 最近更新
  3. 更新历史(经常在很长一段时间内更新)
  4. 贡献者数量
  5. 有知名/值得信赖的开发者和维护者出演吗?的并[a]
  6. 其他重要的套餐是否依赖于它?的并[b]
  7. 包装是否有详细记录并拥有自己的网站?
  8. 模块是否有测试覆盖率?
  9. Github因素: 更新:从npm 1.2.20开始转发,没有存储库字段的模块将显示缺少存储库字段警告。 (很好的方法是给人们施加一点压力,让他们正确地打包他们的模块。)

    1. 分叉数
    2. 提交次数
    3. 是否在github上关闭了问题,或者长期以来是否同样存在问题?
    4. [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上更改代码时没有更新版本号,就会发生这种情况。

答案 1 :(得分:1)

此模块(Node.js的中间件层)符合您的要求:

connect - Robust high performance middleware framework

福克斯大约500

+1000 commits

最后更新:7天前。

569 npm包取决于这些模块https://npmjs.org/browse/depended

P.S。 我与模块的开发无关,只是我的建议。