Я собираю пакет npm и хочу, чтобы он запускался с собственной командой.

Допустим, имя моего пакета hello-world , и в файле package.json есть скрипт с именем start , который выполняется:

node index.js

То, что я хотел бы из командной строки, чтобы иметь возможность написать некоторые пользовательские команды, которые будут запускать этот скрипт.

Например, запись hello-world в cmd сделает npm run start.

Хорошим примером является пакет nodemon .

1
Amit Wagner 15 Авг 2019 в 15:44

2 ответа

Лучший ответ

Вам нужно добавить поле bin в ваш package.json, чтобы предоставить глобальную команду, которая может быть связана с любым исполняемым файлом (например, js-файлом).

Пример package.json

{
  "name": "hello-world",
  "version": "1.0.0",
  "description": "hello-world cli client",
  "bin": "index.js"
}

Тогда ваш модуль npm должен быть глобально установлен в вашей системе следующим образом

npm pack (Optional.required only for local development)


npm install -g hello-world-1.0.0.tgz

Теперь вы можете запустить скрипт, просто выполнив команду как hello-world

Примечание. . Исполняемый скрипт i.e index.js должен начинаться со строки #!/usr/bin/env node

1
prabhakaran 19 Авг 2019 в 14:20

Добавьте запись в ваш package.json, например, в

"scripts": {
    "runme": "node index.js"
}

Тогда вы можете сделать что-то вроде:

npm run runme
0
Zardoz 15 Авг 2019 в 13:44