Упрощаем работу с npm: полезные сокращения и трюки
В этой статье вы найдете несколько удобных команд для работы с npm, которые могут быть полезны при ежедневном использовании менеджера пакетов.
19К открытий19К показов
В этой статье вы найдете несколько удобных команд для работы с npm — менеджером пакетов, входящим в состав Node.js. Из всего множества существующих мы выбрали те, которые могут быть наиболее полезны при ежедневном использовании.
Базовые сокращения
Сначала вспомним самые известные сокращения для установки:
- установить пакет:
npm install pkg
, сокращение:npm i pkg
. - установить пакет глобально:
npm i --global pkg
, сокращение:npm i -g pkg
. - установить пакет и сохранить как зависимость:
npm i --save pkg
, сокращение:npm i -S pkg
. - установить пакет только для использования в разработке (devDependency):
npm i --save-dev pkg
, сокращение:npm i -D pkg
.
Другие сокращения можно посмотреть на официальном сайте.
Интересное
Инициализация нового пакета
Первое действие при создании нового пакета — npm init
:
Если вопросы кажутся вам лишними и вы хотите их проскочить, используйте npm init -y
или npm init -f
:
Тестирование
Часто используемую команду npm test
можно заменить на npm t
, она делает то же самое:
Доступные скрипты
При работе над новым проектом вы, скорее всего, интересуетесь, что вообще можно запустить в его рамках. Можно открыть файл package.json
и проверить секцию scripts
:
Но список доступных скриптов можно получить и через npm run
:
Еще вариант — установить интерактивное меню ntl
(npm i -g ntl
) и запустить в папке проекта:
Установленные пакеты
Для проверки зависимостей тоже можно было бы зайти в package.json
, но есть вариант получше — npm ls --depth 0
:
Для проверки пакетов, установленных глобально, подходит та же команда с соответствующим флагом — npm ls -g --depth 0
:
Запуск локально установленных исполняемых модулей
Мы установили пакет, в нем есть исполняемый модуль, но он работает только при запуске через npm-скрипты. Почему это так, и как этого избежать?
Когда мы передаем команду терминалу, он ищет исполняемый модуль с таким же названием по всем путям, которые перечислены в переменной окружения PATH
. Локально установленные пакеты регистрируют исполняемые файлы локально, поэтому они не перечислены в PATH
и не могут быть обнаружены.
При запуске исполняемых модулей через npm-скрипты менеджер пакетов добавляет дополнительную папку к PATH
, <директория проекта>/node_modules/.bin
. Её можно найти, запустив npm run env | grep "$PATH"
. С помощью npm run env
можно увидеть все доступные переменные окружения.
В node_modules/.bin
локально установленные пакеты размещают свои исполняемые модули. Запускаем ./node_modules/.bin/mocha
в директории проекта:
Найти пакет в Интернете
В файле package.json
вы могли заметить запись repository
. Для того, чтобы открыть соответствующий репозиторий в браузере, запустите команду npm repo
. Команда npm home
выполняет ту же функцию для записи homepage
. Если вы хотите открыть пакет на официальном сайте, используйте команду npm docs
.
Запуск скриптов до и после других скриптов
Вы скорее всего знакомы со скриптом pretest
, он позволяет определить код, который следует запустить перед скриптом test
. Оказывается, pre
и post
скрипты можно создавать для любых других скриптов, в том числе кастомных:
Обновить версию пакета
Допустим, вы используете semver для управления версиями и хотите обновить версию перед очередным релизом. Можно открыть package.json
и сделать это вручную, но зачем?
Более простой способ — запустить команду npm version
с major
, minor
или patch
:
Еще несколько советов можно найти в специальном репозитории на GitHub, где кроме этого собраны разные полезные инструменты и ссылки на ресурсы, связанные с npm.
Если у вас есть свои трюки, которыми вы хотите поделиться, ждем ваших предложений в комментариях.
19К открытий19К показов