Перейти к содержанию

Опции командной строки

У Node.js много опций командной строки. Этои опции показывают встроенную отладку, множественные способы выполнения скриптов и другие полезные опции выполнения программ.

Для просмотра этой же документации в виде страницы мануала в своем терминале, запустите команду man node.

Основное

node [options] [v8 options] [script.js | -e "script"] [arguments]
node debug [script.js | -e "script" | :] …
node --v8-options

Выполняются без аргументов для запуска REPL.

Опции

-v, --version
Добавлено в v0.1.3
Выводит на экран версию Node.js
-h, --help
Добавлено в v0.1.3
Выводит на экран опции командной строки Node.js. Вывод этой опции менее детален, чем ее описание.
-e, --eval "script"
Добавлено в v0.5.2
Определяет следующий аргумент как аргумент JavaScript. Модули, которые предопределены в REPL, также могут использоваться в script.
-p, --print "script"
Добавлено в v0.6.4
Идентично -e, но выводит на экран результат.
-c, --check
Добавлено в v5.0.0
Синтаксис проверяет скрипт без выполнения.
-i, --interactive
Добавлено в v0.7.7
Открывает REPL, даже если stdin не является терминалом.
-r, --require module
Добавлено в v1.6.0
Подгружает указанный модуль при запуске.
Соблюдает правила разрешения для модулей require(). module может быть либо путем к файлу, либо именем модуля node.
--no-deprecation
Добавлено в v0.8.0
Делает предупреждения "тихими".
--trace-deprecation
Добавлено в v0.8.0
Выводит на экран стек устаревших версий.
--throw-deprecation
Добавлено в v0.11.14
Выдает ошибку об устаревшей версии.
--no-warnings
Добавлено в v6.0.0
Делает "тихими" все процессные предупреждения (включая предупреждения об устаревшей версии).
--trace-warnings
Добавлено в v6.0.0
Выводит на экран стек процессный предупреждений (включая предупреждения об устаревшей версии).
--trace-sync-io
Добавлено в v2.1.0
Выводит на экран стек трассировки определяемых синхронизаций ввода/вывода, которые были определены во время первого запуска цикла.
--zero-fill-buffers
Добавлено в v6.0.0
Автоматически обнуляет все нововыделенные буферы и экземпляры SlowBuffer.
--preserve-symlinks
Добавлено в v6.3.0
Дает инструкцию загрузчику модуля на сохранение символьных ссылок во время обработки и кэширования модулей.

По умолчанию, когда Node.js загружает модуль из пути, который представлен символьной ссылкой на различные места диска, Node.js будет перенаправлять ссылку и использовать настоящий "реальный путь" модуля на диске в качестве индентификатора и корневого пути для назначения других модулей зависимости. В большинстве случаев это поведение по умолчанию будет приемлемым. Однако, при использовании символьно-связанных peer dependencies, как показано на примере ниже, поведение по умолчанию может привести к исключениям, если moduleA попытается запросить moduleB как peer dependencies:

{appDir}
 ├── app
 │   ├── index.js
 │   └── node_modules
 │       ├── moduleA -> {appDir}/moduleA
 │       └── moduleB
 │           ├── index.js
 │           └── package.json
 └── moduleA
     ├── index.js
     └── package.json

Флаг командной строки --preserve-symlinks указывает Node.js на использование пути символьных ссылок для модулей для замещения реального пути, позволяя находить символьно-связанные peer dependencies.

Следует заметить, что использование --preserve-symlinks может иметь побочные эффекты. А именно: символьно-связанные нативные модули могут неправильно загрузиться, если они располагаются в разных местах дерева зависимостей (Node.js будет видеть их как два отдельных модуля и попытается загрузить модуль много раз, порождая ошибку).

--track-heap-objects
Добавлено в v2.4.0
Отслеживает распределения групп объектов для групповых снэпшотов.
--prof-process
Добавлено в v6.0.0
Вывод профайлера процесса v8, сгенерированный с помощью опции v8 --prof.
--v8-options
Добавлено в v0.1.13
Выводит опции командной строки v8.
Примечание: опции v8 позволяют словам быть разделенными как дефисами (-), так и нижними подчеркиваниями (_).
Например, --stack-trace-limit – то же самое, что и stack_trace_limit.
--tls-cipher-list=list
Добавлено в v4.0.0
Задает альтернативные дефолтные цифровые списки TLS. (Запрашивает билд Node.js с поддержкой шифрования. (По умолчанию) )
--enable-fips
Добавлено в v6.0.0
Включает FIPS-совместимое шифрование при запуске (запрашивает билд Node.js с ./configure --openssl-fips).
--force-fips
Добавлено в v6.0.0
Принудительный запуск FIPS-совместимое шифрование при запуске (не может быть отключен из скриптового кода)(такие же требования, как и у enable-fips).
--icu-data-dir=file
Добавлено в v0.11.15
Задает путь загрузки для ICU-данных (перезаписывает NODE_ICU_DATA).

Переменные окружения

NODE_DEBUG=module[,…]
Добавлено в v0.1.32
, – разделенный список основных модулей, который должен выводиться на экран при компиляции.
NODE_PATH=path[:…]
Добавлено в v0.1.32
: – разделенный список директорий, прешествующих путям к модулям.
Примечание: на Windows разделенный список - это ;
NODE_DISABLE_COLORS=1
Добавлено в v0.3.0
При установке 1 цвета в REPL не будут использоваться.
NODE_ICU_DATA=file
Добавлено в v0.11.15
Путь к данным для ICU. Расширяет связанные данные при компиляции с поддержкой small-icu.
NODE_REPL_HISTORY=file
Добавлено в v5.0.0
Путь к файлу, используемый для хранения постоянной истории REPL. По умолчанию путь ~/.node_repl_history, который можно перезаписать с помощью этой переменной. Задание значения в виде пустой строки ("" или " ") отключает постоянную историю REPL.