NPX: удобная команда для выполнения пакетов Node.js
Команда npx представляет собой инструмент, который появился с выпуском версии npm 5.2.0. Она предназначена для выполнения локально установленных пакетов npm без необходимости установки их глобально. С помощью npx вы можете запускать исполняемые файлы из пакетов, имеющихся в ваших зависимостях проекта.
Концепция npx является весьма полезной тем, что позволяет сэкономить время на установке и обновлении пакетов глобально. Вместо этого вы можете использовать npx для временного выполнения определенной версии пакета. После выполнения команды npx пакет будет удален из временной директории, таким образом его версия не изменится глобально.
Пример кода ниже демонстрирует использование npx для выполнение команды из локально установленного пакета:
npx jest
В этом примере мы используем npx для запуска тестов с помощью Jest. Если Jest не установлен глобально, но присутствует в зависимостях проекта, то npx автоматически найдет и запустит его. После завершения выполнения тестов npx удалит пакет Jest из временной директории.
Еще одним полезным аспектом npx является возможность указать конкретную версию пакета для его выполнения. Например, если ваш проект зависит от определенной версии Jest, вы можете запускать его с помощью npx следующим образом:
npx jest@24
В этом примере мы запускаем тесты с помощью версии 24 Jest. Если версия 24 не установлена глобально, но присутствует в зависимостях проекта, то npx найдет и запустит именно эту версию. Это позволит вам легко переключаться между разными версиями пакетов без необходимости установки каждой из них глобально.
Также npx может быть использован для установки новых пакетов локально и их непосредственного выполнения. Например, чтобы установить и выполнить Gulp в одной команде, вы можете использовать следующую команду:
npx gulp
В этом случае npx сначала проверит, установлен ли Gulp локально. Если он не найден, npx автоматически установит его из реестра npm и выполнит команду. После завершения выполнения команды, Gulp будет удален из временной директории.
Наконец, npx также предоставляет возможность запуска команд из пакетов, не установленных в зависимостях проекта. Вы можете использовать npx для запуска команд из пакетов, установленных глобально, таких как Create React App или Vue CLI. Ниже приведен пример использования npx для выполнения команды создания нового проекта с использованием Create React App:
npx create-react-app my-app
В этом примере мы используем npx для выполнения команды create-react-app, чтобы создать новый проект с именем my-app. Если Create React App не установлен локально, но присутствует в глобальных зависимостях, npx автоматически найдет и выполнит его. По завершении создания проекта npx удалит Create React App из временной директории.
Как видно из примеров, npx предоставляет гибкость в выполнении команд из локально установленных пакетов, а также из пакетов, установленных глобально. Он позволяет сэкономить время и избавиться от необходимости устанавливать и обновлять пакеты глобально. Использование npx также способствует надежности и портабельности проектов, поскольку версии используемых пакетов могут быть контролируемыми и не влиять на другие проекты.