首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过api查询npmjs注册表

通过api查询npmjs注册表
EN

Stack Overflow用户
提问于 2015-12-04 00:47:51
回答 9查看 29.3K关注 0票数 49

我发现我经常对https://www.npmjs.com/上搜索的顺序和表现力不满意。我想应该有一种使用https://api.npmjs.org/http://registry.npmjs.org/以编程方式查询服务器的方法。但是怎么做呢?文档在哪里?

(或者,有没有节点包可以简化这一点?我知道这不是关于工具或包的建议,所以也许我不应该问这个问题,但如果有一些工具,我可能也会从那里阅读API。)

EN

回答 9

Stack Overflow用户

发布于 2017-01-27 02:06:00

有一个非常好的npm查询站点https://npms.io,我在我的web项目中使用了很多年。它是一个open-source项目,支持高级搜索,并提供更高质量的关键字结果。

他们使用收集到的关于项目的信息为每个包都有一个评分系统。最终分数是根据质量、维护、受欢迎程度和个性这四个不同方面计算得出的。

它也有非常简洁的REST API。

接口文档:https://api-docs.npms.io

票数 27
EN

Stack Overflow用户

发布于 2015-12-04 05:43:35

当然,至少有一个工具设计用于与注册表对话,那就是npm命令行工具本身。例如,它的search首先更新索引的本地缓存副本,然后对其进行过滤。在update-index中,人们可以看到以/-/all结尾的网址显然很特殊。事实上,将其附加到registry.npmjs.org (故意不将其格式化为链接)将获取一个125M的文件,这对于您的浏览器来说可能太多了。幸运的是,缓存版本存储在~/.npm/registry.npmjs.org/-/all/.cache.json中。从那里可以读取所有当前包的列表。然后,可以继续更详细地查询每个这样的包。

npm search显然没有使用更复杂的方案,这一事实表明这里没有太多的服务器端应用程序接口。

在网络上搜索提到api.npmjs.org的页面,我发现可以从那里检索到download counts。我发现的所有其他文档都使用了这个工具。

在寻找替代方案时,我还偶然发现了npmsearch.com,它提供了一些更多功能的搜索工具,并具有a somewhat documented API

票数 24
EN

Stack Overflow用户

发布于 2018-03-29 02:59:21

https://skimdb.npmjs.com/registry/_all_docs

这是当前拉取所有包名称的方法。

URL搜索是http://registry.npmjs.com/-/v1/search?text=<searchstring>&size=20

Edit1: 3年后(2021年3月),此端点仍然有效。很高兴它仍然对人们有帮助:)

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34071621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档