STARTPOINT_DEV Telegram 174
Вы когда-нибудь задумывались, как работает npx? И что это вообще за инструмент такой?

У меня npx появился в жизни внезапно — я сразу начала его использоваться, а вот что это за покемон и как он работает под капотом, изучить не успела. Знала только, что устанавливать ничего не надо — npx идёт в комплекте с Node.js и npm.
Давайте попробуем немного разобраться сейчас.

Как было раньше
Раньше, чтобы запускать CLI-пакеты (например, create-react-app) из любого места, их нужно было ставить глобально:
npm i -g create-react-app

Это добавляло бинарники пакета в системный PATH, но тянуло за собой потенциальные проблемы — например, конфликт версий, если в разных проектах нужна своя версия CLI.

Npx решает эту боль. Он может:
- использовать локально установленный пакет,
- или (если такого нет) скачать временно нужный и сразу запустить.
Без глобальной установки и без добавления в PATH. Плюс, можно запускать конкретные версии одного и того же пакета под разные проекты, не ловя конфликты.

Окей, а что тогда за команда у Vite такая?
npm create vite@latest my-vue-app -- --template vue

Смотрим информацию о команде:
npm create --help
Create a package.json file

Usage:
npm init <package-spec> (same as `npx create-<package-spec>`)
npm init <@scope> (same as `npx <@scope>/create`)

По факту, npm create — это синтаксический сахар над npx create-<name>, а под капотом — тот же npx.

И важный момент напоследок
Пакет, который хочется запускать через npx, должен иметь секцию bin в своём package.json. Пример из vite:
"bin": {
"create-vite": "index.js",
"cva": "index.js"
}

Это как раз то, что позволяет вызывать его как CLI-команду.
1🔥21👍4



tgoop.com/startpoint_dev/174
Create:
Last Update:

Вы когда-нибудь задумывались, как работает npx? И что это вообще за инструмент такой?

У меня npx появился в жизни внезапно — я сразу начала его использоваться, а вот что это за покемон и как он работает под капотом, изучить не успела. Знала только, что устанавливать ничего не надо — npx идёт в комплекте с Node.js и npm.
Давайте попробуем немного разобраться сейчас.

Как было раньше
Раньше, чтобы запускать CLI-пакеты (например, create-react-app) из любого места, их нужно было ставить глобально:

npm i -g create-react-app

Это добавляло бинарники пакета в системный PATH, но тянуло за собой потенциальные проблемы — например, конфликт версий, если в разных проектах нужна своя версия CLI.

Npx решает эту боль. Он может:
- использовать локально установленный пакет,
- или (если такого нет) скачать временно нужный и сразу запустить.
Без глобальной установки и без добавления в PATH. Плюс, можно запускать конкретные версии одного и того же пакета под разные проекты, не ловя конфликты.

Окей, а что тогда за команда у Vite такая?
npm create vite@latest my-vue-app -- --template vue

Смотрим информацию о команде:
npm create --help
Create a package.json file

Usage:
npm init <package-spec> (same as `npx create-<package-spec>`)
npm init <@scope> (same as `npx <@scope>/create`)

По факту, npm create — это синтаксический сахар над npx create-<name>, а под капотом — тот же npx.

И важный момент напоследок
Пакет, который хочется запускать через npx, должен иметь секцию bin в своём package.json. Пример из vite:
"bin": {
"create-vite": "index.js",
"cva": "index.js"
}

Это как раз то, что позволяет вызывать его как CLI-команду.

BY Настя Котова // Frontend & Node.js


Share with your friend now:
tgoop.com/startpoint_dev/174

View MORE
Open in Telegram


Telegram News

Date: |

The channel also called on people to turn out for illegal assemblies and listed the things that participants should bring along with them, showing prior planning was in the works for riots. The messages also incited people to hurl toxic gas bombs at police and MTR stations, he added. Hashtags ‘Ban’ on Telegram Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading.
from us


Telegram Настя Котова // Frontend & Node.js
FROM American