Упрощаем работу с npm: полезные сокращения и трюки
В этой статье вы найдете несколько удобных команд для работы с npm, которые могут быть полезны при ежедневном использовании менеджера пакетов.
19К открытий20К показов
В этой статье вы найдете несколько удобных команд для работы с 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К открытий20К показов



