Подтвердить что ты не робот

Можно ли запускать скрипты Node.js без вызова `node`?

Мне нравится javascript, поэтому я был взволнован, когда услышал о Node.js, среде выполнения Javascript на основе V8. Я бы предпочел, чтобы мои сценарии оболочки продолжались в Javascript. Моя проблема такова: как я могу запускать свои скрипты без вызова node ~/Scripts/myscript.js? После я chmod +x my script он пытается работать как bash script вместо javascript Node.js.

4b9b3361

Ответ 1

Что делает ваша текущая оболочка, начиная с bash, в том, что ваша текущая оболочка (bash?) не имеет понятия о том, что делать с файлом. js. Вот почему боги unix изобрели shebang для:

Последовательность символов, состоящая из знака номера знака и восклицательного знака (#!), Когда он встречается как первые два символа в первой строке текстового файла. В этом случае загрузчик программ в Unix-подобных операционных системах анализирует остальную часть первой строки как директиву интерпретатора и вызывает программу, указанную после последовательности символов, с любыми параметрами командной строки, указанными в качестве параметров.

Итак, в вашем случае я постараюсь поставить

 #!/usr/bin/env node

в верхней части script. Вы можете увидеть, что beeing применяется, например, в оболочке inode (интерактивная node.js), которая может быть другой возможностью запускать ваши скрипты.

https://github.com/bancek/node-interactive-shell/blob/master/inode.js

Ответ 2

Вы всегда можете просто создать оболочку script, которая запускает node для вас.

В качестве альтернативы, если вы хотите создать script, который может запускаться в среде, у которой не установлено node.js, вы можете использовать installer-maker.