VIKINGVyksa
@VIKINGVyksa
front-end developer

Как запускать модуль из командной строки одной командой?

Сейчас у меня есть консольное приложение. Я могу работать с ним только в его дерриктории или указывая путь к скрипту.
node myscript.js // or node myscript

Я хочу чтобы до него можно было достучаться из любого места, например
myscript <args>

Нужно создать npm пакет, установить глобально?

Прошу помочь, не могу сообразить)

supportInfo = {
 system:"windows 10",
 node:"v4.4.7",
 npm:"v2.15.8"
}
  • Вопрос задан
  • 729 просмотров
Решения вопроса 1
VIKINGVyksa
@VIKINGVyksa Автор вопроса
front-end developer
Мною было найдено решение. Всё просто :)

В package.json я добавил

"preferGlobal": true,
"bin": {
  "spp": "spp.js"
},


В начало файла spp.js (точка входа)

#!/usr/bin/env node

Далее создал ссылку с помощью

npm link

И всё, теперь я запускаю свой npm пакет просто вот так

spp

Вот здесь я нашёл как это делается, думаю под любую систему :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
для варианта под линукс я создал следующий файл с именем script:
#!/usr/bin/env node

console.log("Hallo!");

и сделал его исполняемым:
chmod +x script
и дальше запустил его:
$ ./script 
Hallo!

дальше, вы должны его положить или слинкова в одну из директорий, которые записаны в переменной окружения $PATH (я предполагаю, что мы говорим о линуксе) либо же добавить в $PATH директорию, в которой лежит ваш скрипт. тогда вы сможете его вызывать из любого места. обычно для этого скрипт ложат или линкуют в ~/bin директорию
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы