我如何select节点模块?

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

给出一个模块列表,我怎么才能select最适合我的需求? 我正在寻找一个维护,testing,并与一些惯性,但我不知道如何找出哪些这些模块符合该标准。

这个答案是基于几周前在旧金山由Isaac Schlueter (npm作者,从Ryan Dahl接pipenode.js责任,在Joyent工作 – https://twitter.com/izs

艾萨克现在的主要项目是改进NPM,帮助人们了解包装的质量。

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

因素

  1. 下载次数
  2. 如何最近更新
  3. 更新的历史(经常在很长一段时间更新)
  4. 贡献者数量
  5. 有知名/值得信赖的开发者和维护者出演吗? [一个]
  6. 其他重要的软件包依赖于它吗? 并[b]
  7. 这个软件包有很好的文档logging,并有它自己的网站?
  8. 模块是否具有testing覆盖率?

Github因素:更新:从npm 1.2.20和转发,没有存储库字段的模块将显示缺less存储库字段警告。 (很不错,让人们有点压力来正确地打包模块。)

  1. 叉的数量
  2. 提交数量
  3. 问题是在github上closures,还是有相同的问题已经打开了很长一段时间?

[a]加星号的例子

https://npmjs.org/~tjholowaychuk

[b]从terminal快速查看:

npm view <name_of_module> dependencies

例如: npm view connect dependencies

https://npmjs.org/browse/depended

注意事项:

热门并不意味着好。 有很多不是很受欢迎的模块真的很好。

不准确的“上次更新”。 NPM可能会显示该模块已在2年前更新,但github已在上周更新。 如果维护人员不更新版本号,就会发生这种情况,因为代码在github上发生变化。

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

连接 – 强大的高性能中间件框架

叉约500

+1000提交

最后更新:7天前。

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

ps我与模块的开发无关,只是我的推荐。