NPM package API:如何用“@”查询一个包?
NPM package API: how to query a package with "@"?
您可以使用 NPM public API 查询 NPM 包。例如。查询包 react
:
curl "https://api.npms.io/v2/package/react"
这很好用。参见 https://api-docs.npms.io/#api-Package-GetPackageInfo
但是如何查询范围内的包,即以“@”为前缀?
curl 'https://api.npms.io/v2/package/@types/react-router-dom'
这行不通。
您只需要URL-对名称进行编码:
https://api.npms.io/v2/package/%40types%2Freact-router-dom
关键部分似乎是对 /
进行编码,因此该名称不被视为两个路径段,而不是 @
本身:
$ curl 'https://api.npms.io/v2/package/@types%2Freact-router-dom' | jq '.collected.metadata.name'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6907 0 6907 0 0 66413 0 --:--:-- --:--:-- --:--:-- 66413
"@types/react-router-dom"
您可以使用 NPM public API 查询 NPM 包。例如。查询包 react
:
curl "https://api.npms.io/v2/package/react"
这很好用。参见 https://api-docs.npms.io/#api-Package-GetPackageInfo
但是如何查询范围内的包,即以“@”为前缀?
curl 'https://api.npms.io/v2/package/@types/react-router-dom'
这行不通。
您只需要URL-对名称进行编码:
https://api.npms.io/v2/package/%40types%2Freact-router-dom
关键部分似乎是对 /
进行编码,因此该名称不被视为两个路径段,而不是 @
本身:
$ curl 'https://api.npms.io/v2/package/@types%2Freact-router-dom' | jq '.collected.metadata.name'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6907 0 6907 0 0 66413 0 --:--:-- --:--:-- --:--:-- 66413
"@types/react-router-dom"