Я собираюсь рассказать вам о двух командах npm. Я думаю, что они не очень популярны, однако они могут быть полезны для решения некоторых ваших проблем со средой разработки, когда вы застряли.

Эти команды:

  • список npm (npm ls)
  • список конфигураций npm (конфигурация npm ls)

1. список нпм/л

В npm есть множество пакетов, и многие из них обычно используют другие в качестве зависимостей. Кроме того, эти пакеты с этой зависимостью также используют другие пакеты в качестве зависимости.

Эта глубина зависимости может быть бесконечной, и иногда вам нужно найти конкретное имя пакета, которое используется в вашем проекте. «npm list» поможет вам по этой причине. Давайте попробуем это с одним из моих проектов:

Вы можете увидеть дерево зависимостей в своем проекте следующим образом. Для моего проекта он сгенерировал более 900 строк в виде дерева, и мне пришлось вырезать скриншот, чтобы он поместился здесь.

Иногда может быть сложно найти конкретное имя проекта в окне терминала. Вы можете экспортировать его в такой файл: «npm list › dependencyList.txt».

Некоторые полезные конфигурации для «списка npm»

  • --глубина

В некоторых случаях вам нужно искать глобально установленные пакеты/пакеты первого уровня. Таким образом, вы можете узнать их, используя конфигурацию «--depth=0»:

Также, если вам нужен другой уровень глубины, вы можете настроить его так: «--depth=1, 2, 3,…»

  • --json

Вывод древовидного представления «npm list» имеет характерный синтаксис, который иногда может сбивать с толку. На самом деле, следовать линиям глубины для меня очень сложно. Если вы чувствуете, как я, вы можете использовать конфигурацию «--json» для создания вывода json:

2. список конфигураций npm/ls

Если вы работаете в крупной компании или у вашей компании есть частный реестр пакетов npm, вероятно, вы иногда используете общедоступный реестр (registry.npmjs.org), а иногда — частный реестр вашей компании.

npm использует файл «.npmrc» для управления регистрацией. Например, если вы хотите переключить реестр на частный сервер реестра вашей компании, вы должны записать этот адрес сервера реестра в свой файл «.npmrc» следующим образом:

реестр = http://my-company-registry-server/

Это означает, что npm будет использовать этот сервер в качестве адреса реестра каждый раз, пока вы его не измените.

Пока все нормально, но что-то начинает глючить. Файл «.npmrc» не является единственным. Хотя обычно он находится в пользовательской папке (для Windows) на диске вашего компьютера, он также может находиться более чем в одном месте (например, в папке вашего проекта). Кроме того, место, где вы хотите запустить команду npm (например, npm install), имеет решающее значение для решения, какой реестр будет использоваться npm для этой команды.

Например; у вас есть два файла .npmrc, один из них находится в папке пользователя как «registry=http://first-registry-server/», другой находится в папке вашего проекта как « Registration=http://second-registry-server/», и вы хотите запустить команду «npm install». Если вы запустите его под местоположением вашего проекта; npm установит пакеты со «второго-registry-server». Напротив, если вы запустите его за пределами расположения проекта, npm установит пакеты с «первого-registry-server».

Вы можете подумать, что это решаемо, но иногда это может сбивать с толку и трудно понять, почему npm не находит ваши пакеты, потому что вы можете подумать о других вариантах, чтобы найти проблему, и вы можете упустить главное. По этой причине я рекомендую вам в это время использовать команду «npm config list». Это даст вам дамп о ваших конфигурациях npm, и вы сможете увидеть информацию о своем реестре в виде ключа «metrics-registry»:

Большое спасибо за чтение!