本节书摘来自异步社区《Node.js入门经典》一书中的第2章,第2.5节,作者【英】George Ornbo,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.5 如何找模块
Node.js入门经典
既然可以安装Node.js模块,就会想探究有哪些模块是可用的。Node.js有一个充满生机的开发者社区,模块的建立和维护每天都在发生。
2.5.1 官方来源
你可以在许多地方搜索模块。首先,在http://search.npmjs.org/上有一个官方的基于Web的npm搜索工具(见图2.3)。这是寻找第三方模块的正统资源。请尝试搜索“irc”,读者将看到有许多和irc有关的模块以及模块的简要介绍。
![8dd6b0177b993a3782905715188d06eafb2da182](https://yqfile.alicdn.com/8dd6b0177b993a3782905715188d06eafb2da182.png?x-oss-process=image/resize,w_1400/format,webp)
一旦找到了要找的模块,就可以按先前的方法在命令行下安装它。
也可以在终端中直接使用npm命令行工具来搜索Node.js模块(见图2.4):
![eba04e32fe5383808f6a4165f8171eebd80562c6](https://yqfile.alicdn.com/eba04e32fe5383808f6a4165f8171eebd80562c6.png?x-oss-process=image/resize,w_1400/format,webp)
注意在第一次运行这个命令的时候,可能需要花一些时间来创建索引。
![4b0cf794fd29bc49332421153853acf15e2a5419](https://yqfile.alicdn.com/4b0cf794fd29bc49332421153853acf15e2a5419.png?x-oss-process=image/resize,w_1400/format,webp)
这样搜索的不仅仅是模块名,还有模块的描述。还可以通过使用空格隔开关键字的方法进行跨关键字搜索:
![989461992c51ae85a55aea8938297cd5b26f3b05](https://yqfile.alicdn.com/989461992c51ae85a55aea8938297cd5b26f3b05.png?x-oss-process=image/resize,w_1400/format,webp)
2.5.2 非官方来源
还有许多非官方的来源可用于搜索npm模块。这些来源使用官方的注册数据,但在模块上增加了一些额外的信息。
Blagovest Dachev创建了http://blago.dachev.com/modules站点,该站点可以提供GitHub上某个项目的围观者数量、分叉(fork)数量以及问题数量(见图2.5)。如果想了解项目的活跃程度以及最近的更新时间,这会极其有用。
Eirik Brandtzag创建了一个类似的工具,地址是http://eirikb.github.com/nipster/,它在Node.js社区内也广受欢迎。它根据GibHub上的分叉数量对项目评级,而分叉数量是项目流行程度的风向标(见图2.6)。
另外一个优秀的搜索工具可在http://toolbox.no.de/上找到。
![6ff588aad3d256186fbc4ab087a67123f9bce5bd](https://yqfile.alicdn.com/6ff588aad3d256186fbc4ab087a67123f9bce5bd.png?x-oss-process=image/resize,w_1400/format,webp)
尽管模块可通过npm获得,但这不意味着它是得到良好测试的或者是稳定的。请使用模块的下载量和项目的问题数量作为模块的可靠性和成熟度的大致指南。