6

那里有几十个模块可用,许多模块完成相同的任务。例如,仅路由器模块列表就包含 26 个模块。

给定一个模块列表,我如何选择最适合我需要的模块?我正在寻找一个经过维护、测试并具有一定惯性的模块,但我不确定如何确定这些模块中的哪些模块符合该标准。

4

2 回答 2

4

这个答案基于Isaac Schlueter几周前在旧金山的一次演讲(npm 作者,从 Ryan Dahl 手中接过 node.js 的职责,在 Joyent 工作 - https://twitter.com/izs

Isaac 现在的主要项目是改进 NPM 以帮助人们弄清楚包的质量。

npmjs.org网站变得更智能之前,这里有一些需要考虑的因素(@3boll 已经列出了一些因素)

因素

  1. 下载次数
  2. 最近更新时间
  3. 更新历史(是否在很长一段时间内经常更新)
  4. 贡献者数量
  5. 有知名/值得信赖的开发人员和维护人员为它加注星标吗?[一个]
  6. 其他重要的包是否依赖它?[乙]
  7. 包裹是否有据可查并有自己的网站?
  8. 模块是否有测试覆盖率?

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 上更改代码时更新版本号,就会发生这种情况。

于 2013-05-06T18:41:29.100 回答
1

该模块(Node.js 的中间件层)满足您的要求:

connect —强大的高性能中间件框架

叉子约 500

+1000 次提交

最后更新:7天前。

569 个 npm 包依赖于这些模块https://npmjs.org/browse/depended

ps 我与模块的开发无关,只是我的建议。

于 2013-05-05T22:57:42.343 回答