Spec-Zone.ru › Node.js 24 LTS

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

Переменные окружения — это переменные, связанные со средой, в которой выполняется процесс Node.js.

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

Существует набор переменных окружения, которые можно задать для настройки поведения Node.js. Подробнее см. в документации по переменным окружения CLI.

process.env

Основной API для взаимодействия с переменными окружения — process.env. Он состоит из объекта с предварительно заполненными пользовательскими переменными окружения, которые можно изменять и дополнять.

Подробнее см. в документации по process.env.

DotEnv

Набор утилит для работы с дополнительными переменными окружения, заданными в файлах .env.

Стабильность: 2 — Стабильный

Файлы .env

Файлы .env (также известные как файлы dotenv) задают переменные окружения, с которыми затем могут взаимодействовать приложения Node.js (популяризированы пакетом dotenv).

Ниже приведён пример содержимого базового файла .env:

MY_VAR_A = "my variable A"
MY_VAR_B = "my variable B" copy

Файлы такого типа используются в различных языках программирования и на разных платформах, но для них не существует формальной спецификации. Поэтому Node.js определяет собственную спецификацию, описанную ниже.

Файл .env содержит пары «ключ — значение». Каждая пара представлена именем переменной, за которым следует знак равенства (=), а затем значение переменной.

Такие файлы обычно называются .env или их имя начинается с .env (например, .env.dev, где dev указывает на конкретную целевую среду). Это рекомендуемая схема именования, но она не обязательна: файлы dotenv могут иметь любое имя.

Имена переменных

Допустимое имя переменной должно содержать только буквы (в верхнем или нижнем регистре), цифры и символы подчёркивания (_); оно не может начинаться с цифры.

Точнее, допустимое имя переменной должно соответствовать следующему регулярному выражению:

^[a-zA-Z_]+[a-zA-Z0-9_]*$ copy

Рекомендуется использовать заглавные буквы, символы подчёркивания и, при необходимости, цифры, но подойдёт любое имя переменной, соответствующее приведённому выше определению.

Например, допустимы следующие имена переменных: MY_VAR, MY_VAR_1, my_var, my_var_1, myVar, My_Var123, а следующие недопустимы: 1_VAR, 'my-var', "my var", VAR_#1.

Значения переменных

Значения переменных могут содержать произвольный текст, который можно заключить в одинарные (') или двойные (") кавычки.

Значения в кавычках могут занимать несколько строк, а значения без кавычек должны помещаться в одну строку.

При разборе Node.js интерпретирует все значения как текст, то есть любое значение становится строкой JavaScript внутри Node.js. Например, следующие значения: 0, true и { "hello": "world" } станут строками '0', 'true' и '{ "hello": "world" }' соответственно, а не числом ноль, логическим значением true и объектом со свойством hello.

Примеры допустимых переменных:

MY_SIMPLE_VAR = a simple single line variable
MY_EQUALS_VAR = "this variable contains an = sign!"
MY_HASH_VAR = 'this variable contains a # symbol!'
MY_MULTILINE_VAR = '
this is a multiline variable containing
two separate lines\nSorry, I meant three lines' copy
Пробелы

Начальные и конечные пробельные символы вокруг ключей и значений переменных игнорируются, если только они не заключены в кавычки.

Например:

   MY_VAR_A   =    my variable a
    MY_VAR_B   =    '   my variable b   ' copy

будет обработано так же, как:

MY_VAR_A = my variable a
MY_VAR_B = '   my variable b   ' copy
Комментарии

Символы решётки (#) обозначают начало комментария, то есть остальная часть строки полностью игнорируется.

Однако решётки внутри кавычек обрабатываются как любые другие обычные символы.

Например:

# This is a comment
MY_VAR = my variable # This is also a comment
MY_VAR_A = "# this is NOT a comment" copy
Префиксы export

Перед объявлениями переменных можно добавить ключевое слово export; при обработке файла оно полностью игнорируется.

Это позволяет использовать файл в оболочках без каких-либо изменений.

Пример:

export MY_VAR = my variable copy

Параметры CLI

Файлы .env можно использовать для заполнения объекта process.env с помощью одного из следующих параметров CLI:

  • --env-file=file

  • --env-file-if-exists=file

Программные API

Следующие две функции позволяют напрямую взаимодействовать с файлами .env:

  • process.loadEnvFile загружает файл .env и заполняет process.env его переменными

  • util.parseEnv разбирает содержимое файла .env и возвращает его значения в виде объекта

© 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-v24.x/docs/api/environment_variables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API