我如何select节点模块?
有几十个可用的模块 ,许多完成相同的任务。 例如,单独的路由器模块列表包含26个模块。
给出一个模块列表,我怎么才能select最适合我的需求? 我正在寻找一个维护,testing,并与一些惯性,但我不知道如何找出哪些这些模块符合该标准。
这个答案是基于几周前在旧金山由Isaac Schlueter (npm作者,从Ryan Dahl接pipenode.js责任,在Joyent工作 – https://twitter.com/izs )
艾萨克现在的主要项目是改进NPM,帮助人们了解包装的质量。
在npmjs.org网站变得更聪明之前,这里有一些需要考虑的因素(一些已经被@ 3boll列出)
因素
- 下载次数
- 如何最近更新
- 更新的历史(经常在很长一段时间更新)
- 贡献者数量
- 有知名/值得信赖的开发者和维护者出演吗? [一个]
- 其他重要的软件包依赖于它吗? 并[b]
- 这个软件包有很好的文档logging,并有它自己的网站?
- 模块是否具有testing覆盖率?
Github因素:更新:从npm 1.2.20和转发,没有存储库字段的模块将显示缺less存储库字段警告。 (很不错,让人们有点压力来正确地打包模块。)
- 叉的数量
- 提交数量
- 问题是在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我与模块的开发无关,只是我的推荐。