栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

列出npm注册表中的所有公共软件包

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

列出npm注册表中的所有公共软件包

http://blog.npmjs.org/post/157615772423/deprecating-the-all-registry-
endpoint
描述了http://registry.npmjs.org/-/all端点的弃用,并链接到位于https的教程另一种方法是://github.com/npm/registry/blob/master/docs/follower.md。该教程描述了如何设置一个“跟随者”来接收对NPM注册表所做的所有更改。老实说,这有点奇怪。显然,如果您想在整个NPM生态系统中进行数据分析,那么这样的关注者并不能替代获取所有软件包的列表。

但是,在该代码库中,我们了解到NPM注册表的核心是位于https://replicate.npmjs.com的CouchDB数据库。

_all_docs
端点未禁用,因此我们可以在https://replicate.npmjs.com/_all_docs上单击该端点,以获取一个JSON对象,该对象的
rows
属性包含NPM上所有公共软件包的列表。每个软件包如下所示:

{"id":"lodash","key":"lodash","value":{"rev":"634-9273a19c245f088da22a9e4acbabc213"}},

在撰写本文时,该响应中有618660行,大约为64MB。

如果您想要有关某个特定程序包的更多数据,则可以使用其查找特定程序包

key
-例如,访问https://replicate.npmjs.com/lodash以获取包含Lodash的描述和发行历史之类的巨大文档。

如果要获取有关所有软件包的所有当前数据,则可以使用

include_docs
参数
_all_docs
在响应中包括实际的文档主体-即,单击https://replicate.npmjs.com/_all_docs?include_docs=true。准备好处理大量数据。

如果您还需要这些CouchDB文档中未包含的更多数据(例如下载次数),那么值得细阅https://github.com/npm/registry/tree/master/docs中的文档,其中详细介绍了其他一些可用信息API-
需要注意的是,问题中指出,并不是那里记录的所有内容实际上都有效。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436684.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号