获取所有包含关键字的 npm 包
Get all the npm packages containing a keyword
我想获取所有包含 foo
关键字的 npm 包。
使用 NPM api 怎么可能?我找不到与此相关的任何文档。 npm
库可以做到吗?
你可以使用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));
});
});
它 returns 355
对象 foo
关键字。
我们传递给 search
函数的回调函数将接收一个对象,键是包名称,值是关于包的信息。引用文档,
Returns an object where each key is the name of a package, and the value is information about that package along with a 'words' property, which is a space-delimited string of all of the interesting words in that package. The only properties included are those that are searched, which generally include:
- name
- description
- maintainers
- url
- keywords
注意:传递给search
函数的第二个参数(true
)是为了防止函数在stdout上打印结果。基本上它启用静音模式。
您还可以使用多个关键字来限制搜索,方法是将数组传递给 search
函数,如下所示
npm.commands.search(["foo", "bar"], true, function (err, result) {
returns只有39个对象。
我没有依赖巨大的 npm
模块,而是为此目的制作了一个小模块:npm-keyword
.
我想获取所有包含 foo
关键字的 npm 包。
使用 NPM api 怎么可能?我找不到与此相关的任何文档。 npm
库可以做到吗?
你可以使用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));
});
});
它 returns 355
对象 foo
关键字。
我们传递给 search
函数的回调函数将接收一个对象,键是包名称,值是关于包的信息。引用文档,
Returns an object where each key is the name of a package, and the value is information about that package along with a 'words' property, which is a space-delimited string of all of the interesting words in that package. The only properties included are those that are searched, which generally include:
- name
- description
- maintainers
- url
- keywords
注意:传递给search
函数的第二个参数(true
)是为了防止函数在stdout上打印结果。基本上它启用静音模式。
您还可以使用多个关键字来限制搜索,方法是将数组传递给 search
函数,如下所示
npm.commands.search(["foo", "bar"], true, function (err, result) {
returns只有39个对象。
我没有依赖巨大的 npm
模块,而是为此目的制作了一个小模块:npm-keyword
.