NPM
- Керує пакетами, але не робить життя легким виконанням .
NPX
- Інструмент для виконання пакетів Node.
NPX
поставляється в комплекті з NPM
версією5.2+
NPM
сам по собі не запускає жоден пакет. він фактично не запускає жодного пакету. Якщо ви хочете запустити пакет за допомогою NPM, ви повинні вказати його у своєму package.json
файлі.
Коли виконувані файли встановлюються через пакети NPM, NPM посилається на них:
- локальні установки мають "посилання", створені в
./node_modules/.bin/
каталозі.
- глобальні встановлення мають "посилання", створені з глобального
bin/
каталогу (наприклад /usr/local/bin
) на Linux або в %AppData%/npm
Windows.
Документацію, яку ви повинні прочитати
NPM:
Можна встановити пакет локально для певного проекту:
npm install some-package
Тепер скажімо, що ви хочете, щоб NodeJS виконав цей пакет з командного рядка:
$ some-package
Сказане не вдасться . Лише встановлені в усьому світі пакети можна виконати, ввівши лише їх ім'я .
Щоб виправити це та запустити його, потрібно ввести локальний шлях:
$ ./node_modules/.bin/some-package
Ви можете технічно запустити локально встановлений пакет, відредагувавши свій packages.json
файл і додавши його в scripts
розділі:
{
"name": "whatever",
"version": "1.0.0",
"scripts": {
"some-package": "some-package"
}
}
Потім запустіть скрипт, використовуючи npm run-script
(або npm run
):
npm run some-package
NPX:
npx
перевірить, чи <command>
існує в $PATH
локальних бінарних файлах проекту, чи виконає його. Отже, для наведеного вище прикладу, якщо ви хочете виконати локально встановлений пакет, some-package
все, що вам потрібно зробити, це набрати:
npx some-package
Ще одна головна перевага npx
- можливість виконувати пакет, який раніше не був встановлений:
$ npx create-react-app my-app
Наведений вище приклад генерує react
котло для додатків у межах шляху, за яким пройшла команда, і гарантує, що ви завжди використовуєте останню версію генератора чи інструменту побудови, не потребуючи оновлення кожного разу, коли ви збираєтесь його використовувати.
Пов’язані запитання:
- Як використовувати пакет, встановлений локально в node_modules?
- NPM: як джерело ./node_modules/.bin папки?
- Як запустити файл js за допомогою сценаріїв npm?
create-react-app
є генератором.npx
йде в Інтернет , тимчасово завантажуючи пакет, щоб він міг його виконати ( np x ). Що ви отримуєте (і хочете), це вихід, який зберігається локально, де ви виконали команду.