#api #npm #package #scoped
Вопрос:
Вы можете запросить пакет NPM с помощью общедоступного 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'
Это не работает.
Ответ №1:
Вам просто нужно закодировать URL-адрес имени:
https://api.npms.io/v2/package/@types/react-router-dom
Решающей частью , по-видимому, является кодирование /
, поэтому имя не рассматривается как два сегмента пути, а не само @
по себе:
$ curl 'https://api.npms.io/v2/package/@types/react-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"