获取包含关键字的所有npm包

时间:2015-04-16 06:41:36

标签: node.js npm keyword

我想获取包含foo关键字的所有npm个包。

使用NPM api怎么可能?我找不到任何关于此的文档。可以使用npm库吗?

2 个答案:

答案 0 :(得分:1)

您可以使用npm package's search功能,例如

var npm = require("npm");

npm.load({}, function () {

    npm.commands.search("foo", true, function (err, result) {

        if (err) {
            throw new Error(err);
        }
        console.log(Object.keys(result));

    });

});

它返回355关键字的foo个对象。

我们传递给search函数的回调函数将接收一个对象,其中键是包名称,值是有关包的信息。引用文档,

  

返回一个对象,其中每个键都是包的名称,值是关于该包的信息以及'单词' property,是一个以空格分隔的字符串,包含该包中所有有趣的单词。包括的唯一属性是搜索的属性,通常包括:

     
      
  • 名称
  •   
  • 描述
  •   
  • 维护者
  •   
  • URL
  •   
  • 关键字
  •   

注意:传递给true函数的第二个参数(search)是为了防止函数在stdout上打印结果。基本上它启用了静音模式。

您还可以使用多个关键字限制搜索,方法是将数组传递给search函数,如下所示

npm.commands.search(["foo", "bar"], true, function (err, result) {

只返回39个对象。

答案 1 :(得分:1)

我没有依赖巨大的npm模块,而是为了这个目的制作了一个小模块:npm-keyword