很容易看出特定模块所依赖的模块,但我似乎无法了解如何查看哪些模块依赖于特定模块。有一个简单的方法吗?如果是这样,有没有办法以编程方式执行此操作?
答案 0 :(得分:34)
更新:注册表API已更改,可能允许也可能不允许您直接与底层CouchDB数据库通信。幸运的是,仍然有一个公共镜像提供给https://skimdb.npmjs.com/registry的复制,你仍然可以发送查询。使用:
https://skimdb.npmjs.com/registry/_design/app/_view/dependedUpon?group_level=3&startkey=%5B"socket.io"%5D&endkey=%5B"socket.io"%2C%7B%7D%5D&skip=0&limit=1000
为便于阅读,以下是示例中的查询字符串参数:
{ group_level: 3,
startkey: '["socket.io"]',
endkey: '["socket.io", {}]',
skip: 0,
limit: 1000 }
请注意,如上所述,这些是CouchDB请求的参数。官方API上似乎没有端点来获取此数据,但是注册表中存在一个问题,您可以关注here。
你最接近的事情就是从npm注册表中请求JSON。例如,要使程序包依赖于Socket.IO,请向此链接发送GET
请求:
http://registry.npmjs.org/-/_view/dependedUpon?group_level=3&startkey=%5B%22socket.io%22%5D&endkey=%5B%22socket.io%22%2C%7B%7D%5D&skip=0&limit=1000
答案 1 :(得分:22)
您可以在npmjs.com上浏览它们,例如转到https://www.npmjs.com/browse/depended/markdown-it
等网址答案 2 :(得分:13)
截至最近,还有https://libraries.io/npm/socket.io跟踪您的家属和依赖关系。
答案 3 :(得分:3)
dependedUpon现在至少包含在这些工具中:
npm install -g npm-static-stats dependents-tree npm-get-dependents npm-dependents
dependents-tree对于签出新包非常有用