Параметры командной строки
Node.js поставляется с различными параметрами командной строки. Эти параметры предоставляют встроенные возможности отладки, различные способы выполнения скриптов и другие полезные параметры среды выполнения.
Чтобы просмотреть эту документацию в виде страницы справки в терминале, выполните man node.
Синопсис
node [options] [V8 options] [script.js | -e "script" | -] [--] [arguments]
node debug [script.js | -e "script" | <host>:<port>] …
node --v8-options
Выполните без аргументов, чтобы запустить REPL.
Для получения дополнительной информации о node debug, пожалуйста, обратитесь к документации отладчика.
Параметры
-v, --version
Вывести версию Node.js.
-h, --help
Вывести параметры командной строки Node.js. Вывод этого параметра менее подробный, чем в данной документации.
-e, --eval "script"
Выполнить следующий аргумент как JavaScript. Модули, предопределённые в REPL, также могут быть использованы в script.
Примечание: В Windows использование cmd.exe одного одинарного кавычки не будет работать корректно, так как распознаются только двойные " для кавычек. В Powershell или Git bash оба ' и " могут быть использованы.
-p, --print "script"
Идентично -e но выводит результат.
-c, --check
Проверить синтаксис скрипта без выполнения.
-i, --interactive
Открывает REPL даже если stdin не выглядит как терминал.
-r, --require module
Предварительная загрузка указанного модуля при запуске.
Следует правилам разрешения модулей require(). module может быть либо путём к файлу, либо именем модуля Node.js.
--inspect[=[host:]port]
Активировать инспектор на хост:порт. По умолчанию 127.0.0.1:9229.
Интеграция инспектора V8 позволяет таким инструментам, как Chrome DevTools и IDE, отлаживать и профилировать экземпляры Node.js. Инструменты подключаются к экземплярам Node.js через TCP-порт и общаются с помощью протокола отладки Chrome.
--inspect-brk[=[host:]port]
Активировать инспектор на хост:порт и остановить на начале пользовательского скрипта. По умолчанию хост:порт — 127.0.0.1:9229.
--inspect-port=[host:]port
Установить хост:порт, используемый при активации инспектора. Полезно при активации инспектора путём отправки сигнала SIGUSR1.
По умолчанию хост — 127.0.0.1.
--no-deprecation
Отключить предупреждения о устаревших методах.
--trace-deprecation
Вывести трассировки стека для устаревших методов.
--throw-deprecation
Выбрасывать ошибки для устаревших методов.
--pending-deprecation
Выводить предупреждения о предстоящем устаревании методов.
Примечание: Предупреждения о предстоящем устаревании методов в целом идентичны предупреждениям о устаревших методах во время выполнения, за исключением того, что они по умолчанию отключены и не будут выводиться, если не установлен флаг командной строки --pending-deprecation или переменная среды NODE_PENDING_DEPRECATION=1. Предупреждения о предстоящем устаревании методов предназначены для предоставления механизма "раннего предупреждения", который разработчики могут использовать для обнаружения использования устаревших API.
--no-warnings
Отключить все предупреждения процесса (включая предупреждения о устаревших методах).
--expose-http2
Включить экспериментальный модуль 'http2'.
--abort-on-uncaught-exception
Прерывание вместо выхода приводит к генерации файла core для анализа после завершения работы с помощью отладчика (например, lldb, gdb, и mdb).
--trace-warnings
Выводить трассировки стека для предупреждений процесса (включая предупреждения о устаревших методах).
--redirect-warnings=file
Записывать предупреждения процесса в указанный файл вместо вывода в stderr. Файл будет создан, если он не существует, и будет добавлен в конец, если он существует. Если при попытке записи предупреждения в файл произойдёт ошибка, предупреждение будет выведено в stderr.
--trace-sync-io
Выводит трассировку стека всякий раз, когда обнаруживается синхронное ввод/вывод после первого цикла обработки событий.
--force-async-hooks-checks
Включает проверки времени выполнения для async_hooks. Их также можно динамически включить, включив один из async_hooks хуков.
--trace-events-enabled
Включает сбор данных трассировки событий.
--trace-event-categories
Список категорий, которые должны быть отслежены при включении трассировки событий с помощью --trace-events-enabled.
--trace-event-file-pattern
Шаблонная строка, определяющая путь к файлу для данных трассировки событий, поддерживает ${rotation} и ${pid}.
--zero-fill-buffers
Автоматически заполняет нулями все недавно выделенные буферы Buffer и SlowBuffer.
--preserve-symlinks
Инструктирует загрузчик модулей сохранять символические ссылки при разрешении и кэшировании модулей.
По умолчанию, когда Node.js загружает модуль из пути, который символически ссылается на другое место на диске, Node.js дереферирует ссылку и использует фактический диск «полный путь» модуля как идентификатор, а также как корневой путь для поиска зависимых модулей. В большинстве случаев это поведение по умолчанию приемлемо. Однако при использовании символически связанных зависимостей «peer», как показано в примере ниже, поведение по умолчанию приводит к исключению, если moduleA пытается загрузить moduleB как зависимость «peer»:
{appDir}
├── app
│ ├── index.js
│ └── node_modules
│ ├── moduleA -> {appDir}/moduleA
│ └── moduleB
│ ├── index.js
│ └── package.json
└── moduleA
├── index.js
└── package.json
Флаг командной строки --preserve-symlinks инструктирует Node.js использовать путь символической ссылки для модулей, а не фактический путь, что позволяет находить символически связанные зависимости «peer».
Обратите внимание, однако, что использование --preserve-symlinks может иметь и другие побочные эффекты. В частности, символически связанные нативные модули могут не загружаться, если они связаны из нескольких мест в дереве зависимостей (Node.js увидит их как два отдельных модуля и попытается загрузить модуль несколько раз, что приведёт к исключению).
--track-heap-objects
Отслеживать выделения объектов кучи для создания снимков кучи.
--prof-process
Обрабатывает вывод профилировщика V8, сгенерированный с помощью параметра V8 --prof.
--v8-options
Вывести параметры командной строки V8.
Примечание: параметры V8 позволяют разделять слова как дефисами (-) так и нижними подчеркиваниями (_).
Например, --stack-trace-limit эквивалентно --stack_trace_limit.
--tls-cipher-list=list
Указать альтернативный список шифров TLS по умолчанию. (Требуется, чтобы Node.js был скомпилирован с поддержкой криптографии. (По умолчанию))
--enable-fips
Включить криптографию, соответствующую стандарту FIPS, при запуске. (Требуется, чтобы Node.js был скомпилирован с ./configure --openssl-fips)
--force-fips
Вынужденно использовать криптографию, соответствующую стандарту FIPS, при запуске. (Не может быть отключено из кода скрипта.) (Те же требования, что и у --enable-fips).
--openssl-config=file
Загрузить файл конфигурации OpenSSL при запуске. Среди прочего, это можно использовать для включения криптографии, соответствующей стандарту FIPS, если Node.js скомпилирован с ./configure --openssl-fips.
--use-openssl-ca, --use-bundled-ca
Использовать хранилище сертификатов по умолчанию OpenSSL или хранилище сертификатов Mozilla, поставляемое с текущей версией Node.js. Хранилище по умолчанию выбирается во время компиляции.
Использование хранилища OpenSSL позволяет выполнять внешние изменения в хранилище. Для большинства дистрибутивов Linux и BSD это хранилище поддерживается разработчиками дистрибутива и системными администраторами. Расположение хранилища сертификатов OpenSSL зависит от конфигурации библиотеки OpenSSL, но это можно изменить во время выполнения, используя переменные среды.
Пакетный хранилище сертификатов CA, предоставленный Node.js, представляет собой моментальный снимок хранилища сертификатов CA Mozilla, который фиксируется на этапе выпуска. Он идентичен на всех поддерживаемых платформах.
См. SSL_CERT_DIR и SSL_CERT_FILE.
--icu-data-dir=file
Укажите путь загрузки данных ICU. (переопределяет NODE_ICU_DATA)
-
Псевдоним для stdin, аналогичный использованию - в других утилитах командной строки, означающий, что скрипт будет считан из stdin, а остальные параметры будут переданы этому скрипту.
--
Указывает конец параметров Node.js. Передает остальные аргументы скрипту. Если до этого не был указан имя файла скрипта или скрипт eval/print, то следующий аргумент будет использован как имя файла скрипта.
--max-http-header-size=size
Укажите максимальный размер заголовков HTTP в байтах. По умолчанию 8 КБ.
Переменные окружения
NODE_DEBUG=module[,…]
Список модулей ядра, разделенных символом «-», для которых должна выводиться отладочная информация.
NODE_PATH=path[:…]
Список каталогов, разделенных двоеточием, которые добавляются в начало пути поиска модулей.
Примечание: В Windows это список, разделенный символом «;».
NODE_DISABLE_COLORS=1
При установке в 1 цвета не будут использоваться в REPL.
NODE_ICU_DATA=file
Путь к данным ICU (объект Intl). Расширит связанные данные при компиляции с поддержкой small-icu.
NODE_NO_WARNINGS=1
При установке в 1 предупреждения процесса будут отключены.
NODE_NO_HTTP2=1
При установке в 1, модуль http2 будет отключен.
NODE_OPTIONS=options...
Список параметров командной строки, разделенных пробелами. options... интерпретируются так, как если бы они были указаны в командной строке до фактической команды (чтобы их можно было переопределить). Node завершит работу с ошибкой, если используется параметр, который запрещен в среде, например, -p или файл скрипта.
Разрешенные параметры Node.js:
--enable-fips--force-fips--icu-data-dir--inspect-brk--inspect-port--inspect--max-http-header-size--no-deprecation--no-warnings--openssl-config--redirect-warnings-
--require,-r --throw-deprecation--tls-cipher-list--trace-deprecation--trace-events-categories--trace-events-enabled--trace-event-file-pattern--trace-sync-io--trace-warnings--track-heap-objects--use-bundled-ca--use-openssl-ca--v8-pool-size--zero-fill-buffers
Разрешенные параметры V8:
--abort-on-uncaught-exception--max-old-space-size--perf-basic-prof--perf-prof--stack-trace-limit
NODE_PENDING_DEPRECATION=1
При установке в 1, выводятся предупреждения о предстоящем устаревании.
Примечание: Предстоящие устаревшие API в основном идентичны устаревшим API во время выполнения, за исключением того, что они по умолчанию отключены и не будут выводиться, если не установлен флаг командной строки --pending-deprecation или переменная окружения NODE_PENDING_DEPRECATION=1. Предстоящие устаревшие API используются для обеспечения механизма выборочного «предупреждения» для разработчиков, которые могут использовать его для обнаружения устаревших API.
NODE_PRESERVE_SYMLINKS=1
При установке в 1, загрузчик модулей сохраняет символические ссылки при разрешении и кэшировании модулей.
NODE_REPL_HISTORY=file
Путь к файлу, используемому для сохранения истории REPL. Путь по умолчанию ~/.node_repl_history, который переопределяется этой переменной. Установка значения в пустую строку ('' или ' ') отключает постоянную историю REPL.
NODE_EXTRA_CA_CERTS=file
При установке, хорошо известные сертификаты «корневых» CA (например, VeriSign) будут дополнены дополнительными сертификатами в file. Файл должен содержать один или несколько доверенных сертификатов в формате PEM. Сообщение будет выведено (один раз) с помощью process.emitWarning(), если файл отсутствует или имеет неправильный формат, но любые другие ошибки игнорируются.
Обратите внимание, что ни хорошо известные, ни дополнительные сертификаты не используются, если свойство параметров ca явно указано для клиента или сервера TLS или HTTPS.
OPENSSL_CONF=file
Загрузить файл конфигурации OpenSSL при запуске. Среди прочего, это можно использовать для включения криптографии, соответствующей стандарту FIPS, если Node.js скомпилирован с ./configure
--openssl-fips.
Если используется параметр командной строки --openssl-config, переменная окружения игнорируется.
SSL_CERT_DIR=dir
Если --use-openssl-ca включено, это переопределяет и устанавливает каталог OpenSSL, содержащий доверенные сертификаты.
Примечание: Учитывайте, что если среда дочернего процесса не задана явно, эта переменная окружения будет унаследована любыми дочерними процессами, и если они используют OpenSSL, это может привести к тому, что они будут доверять тем же CA, что и node.
SSL_CERT_FILE=file
Если --use-openssl-ca включено, это переопределяет и устанавливает файл OpenSSL, содержащий доверенные сертификаты.
Примечание: Учитывайте, что если среда дочернего процесса не задана явно, эта переменная окружения будет унаследована любыми дочерними процессами, и если они используют OpenSSL, это может привести к тому, что они будут доверять тем же CA, что и node.
NODE_REDIRECT_WARNINGS=file
При установке предупреждения процесса будут выводиться в указанный файл вместо вывода в stderr. Файл будет создан, если он не существует, и будет добавлен к нему, если он существует. Если при попытке записи предупреждения в файл произошла ошибка, предупреждение будет записано в stderr вместо этого. Это эквивалентно использованию флага командной строки --redirect-warnings=file.
UV_THREADPOOL_SIZE=size
Установите количество потоков, используемых в пуле потоков libuv, на size потоков.
Node.js по возможности использует асинхронные системные API, но там, где они отсутствуют, используется пул потоков libuv для создания асинхронных API Node.js на основе синхронных системных API. API Node.js, использующие пул потоков:
- все
fsAPI, кроме API наблюдателя за файлами и тех, которые явно синхронны crypto.pbkdf2()-
crypto.randomBytes(), за исключением случаев, когда он используется без обратного вызова crypto.randomFill()dns.lookup()- все
zlibAPI, кроме тех, которые явно синхронны
Поскольку пул потоков libuv имеет фиксированный размер, это означает, что если по какой-либо причине любой из этих API работает длительное время, другие (похоже, не связанные) API, работающие в пуле потоков libuv, будут испытывать снижение производительности. Чтобы смягчить эту проблему, одним из возможных решений является увеличение размера пула потоков libuv, установив переменную окружения 'UV_THREADPOOL_SIZE' на значение больше, чем 4 (ее текущее значение по умолчанию). Для получения дополнительной информации см. документацию по пулу потоков libuv.
© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v8.x/docs/api/cli.html