Skip to content

Запуск скриптов Node.js из командной строки

Обычный способ запуска программы Node.js — это использование глобально доступной команды node (после установки Node.js) и передача ей имени файла, который нужно выполнить.

Если ваш основной файл приложения Node.js называется app.js, вы можете запустить его, набрав:

bash
node app.js

Выше вы явно указываете оболочке запустить ваш скрипт с помощью node. Вы также можете внедрить эту информацию в ваш JavaScript-файл с помощью строки "shebang". "Shebang" — это первая строка в файле, которая сообщает ОС, какой интерпретатор использовать для запуска скрипта. Ниже приведена первая строка JavaScript:

javascript
#!/usr/bin/node

Выше мы явно указываем абсолютный путь к интерпретатору. Не во всех операционных системах node находится в папке bin, но во всех должна быть env. Вы можете указать ОС запустить env с node в качестве параметра:

javascript
#!/usr/bin/env node
// ваш javascript код

Для использования shebang ваш файл должен иметь разрешение на выполнение.

Вы можете предоставить app.js разрешение на выполнение, выполнив:

bash
chmod u+x app.js

При выполнении команды убедитесь, что вы находитесь в том же каталоге, который содержит файл app.js.

Передача строки в качестве аргумента в node вместо пути к файлу

Для выполнения строки в качестве аргумента можно использовать -e, --eval "script". Выполняет следующий аргумент как JavaScript. Модули, которые предварительно определены в REPL, также могут использоваться в скрипте. В Windows при использовании cmd.exe одинарная кавычка не будет работать корректно, поскольку она распознает только двойные " для кавычек. В Powershell или Git bash, как " так и ' могут использоваться.

bash
node -e "console.log(123)"

Автоматический перезапуск приложения

Начиная с nodejs V 16, есть встроенная опция для автоматического перезапуска приложения при изменении файла. Это полезно для целей разработки. Чтобы использовать эту функцию, необходимо передать флаг watch в nodejs.

bash
node --watch app.js

Таким образом, при изменении файла приложение будет автоматически перезапущено. Прочитайте документацию по флагу --watch документация по флагу.