Couchdb 如何以JSON格式获取与特定关键字匹配的所有npm包?

Couchdb 如何以JSON格式获取与特定关键字匹配的所有npm包?,couchdb,npm,Couchdb,Npm,没有任何沙发和redis的经验,这已经超出了我的承受能力 npm网站允许您通过关键字搜索包- 但是,它没有提供任何以json格式获取此信息的方法-理想情况下,我们可以这样做,但事实并非如此:( 我知道npm网站是由couchdb和一个本地redis实例驱动的 然而,花了一整天的时间来研究这个问题,我就是想不出如何获取某个特定关键字的所有包。有人知道如何获取吗?如果您还解释了如何获取该关键字的过程,那么我将为下一次了解该过程,这将获得额外的积分:)好问题 这将为您提供有关特定模块的信息: npm查

没有任何沙发和redis的经验,这已经超出了我的承受能力

npm网站允许您通过关键字搜索包-

但是,它没有提供任何以json格式获取此信息的方法-理想情况下,我们可以这样做,但事实并非如此:(

我知道npm网站是由couchdb和一个本地redis实例驱动的


然而,花了一整天的时间来研究这个问题,我就是想不出如何获取某个特定关键字的所有包。有人知道如何获取吗?如果您还解释了如何获取该关键字的过程,那么我将为下一次了解该过程,这将获得额外的积分:)

好问题

这将为您提供有关特定模块的信息:

npm查看请求

要获取所有模块所需的内容,可以点击URL:

在浏览这两个文件之后:

  • 我得出以下结论:

  • 我非常惊讶没有更好的方法不直接点击couchdb进行搜索
  • 命令行NPM客户端通过对上面列出的/all/search的完整结果进行排序和过滤,在node.js内部进行搜索
  • 该网站甚至不需要真正的搜索,因为它将其典当给搜索引擎
  • 您所需的按关键字搜索不会得到与命令行NPM相同的结果。它的范围仅限于关键字属性,其他搜索选项可以通过(参见上面的search.js)获得
  • 这个问题看起来会很奇怪
  • 试试这个:
    https://registry.npmjs.org/-/_view/byKeyword?startkey=[“关键字”]&endkey=[“关键字”,{}]&group_level=3

    另外,请注意,这类问题可能会在大约4秒钟内在node.js聊天室或邮件列表中得到回答:)


    希望能有所帮助。

    基于这个答案,我为node编写了一个小库

    npm安装npm关键字搜索

    然后

    2018年的某个时候,
    /-/\u视图/byKeyword
    API可能对您有用:

    新的API现在是:
    /-/v1/search

    其文档如下所示:


    我已经相应地更新了软件包。它是一个节点包,提供了一个API来执行该调用,同时提供了缓存和依赖项兼容性解决方案。

    yataaa!非常感谢!伙计,你现在是我的英雄。顺便说一句,尝试了IRC频道,但没有人说什么,没有意识到有人使用了邮件列表-这有什么好处?再次感谢你!有没有办法获得包含整个package.json的结果?很高兴作为一个不同的帖子来做这件事,我猜我必须查询每一个人,不是很重要。一定要试试节点邮件列表。列表中的响应者是主节点程序员,我怀疑他们中的许多人是否会出现stackoverflow@balupton一旦你知道了模块的名称,你就可以点击这个URL来获取它的详细信息。不要问我它是如何工作的:)我知道你在寻找一个单一的查询,但是…我会继续四处寻找。有没有办法获得一个给定用户的所有包的列表?基本上,注册表相当于这个页面:Love the module。。希望它能检查我的
    npm配置
    ,查看
    注册表
    ,不过。。。将产生一个问题…太好了!如果你能描述它应该做什么,或者参考一些文档,我会看到我能做什么。这是我为这个用例构建的项目
    var search = require('npm-keywordsearch')
    
    search('my-plugin', function (error, packages) {
      packages.forEach(function (pkg) {
        console.log(pkg.name + ': ' + pkg.description)
      })
    })