Skip to content

Как читать переменные окружения из Node.js

Встроенный модуль process в Node.js предоставляет свойство env, которое содержит все переменные окружения, установленные на момент запуска процесса.

Следующий код запускает app.js и устанавливает USER_ID и USER_KEY.

bash
USER_ID=239482 USER_KEY=foobar node app.js

Это передаст пользователю USER_ID со значением 239482 и USER_KEY со значением foobar. Это подходит для тестирования, однако для продакшена вы, вероятно, будете настраивать некоторые bash-скрипты для экспорта переменных.

ПРИМЕЧАНИЕ

process не требует "require", он доступен автоматически.

Вот пример доступа к переменным окружения USER_ID и USER_KEY, которые мы установили в коде выше.

javascript
process.env.USER_ID // "239482
process.env.USER_KEY // "foobar

Таким же образом вы можете получить доступ к любой пользовательской переменной окружения, которую вы установили. В Node.js 20 появилась экспериментальная поддержка файлов .env.

Теперь вы можете использовать флаг --env-file для указания файла окружения при запуске вашего приложения Node.js. Вот пример файла .env и как получить доступ к его переменным с помощью process.env.

bash
.env файл
PORT=3000

В вашем js файле

javascript
process.env.PORT // 3000

Запустите файл app.js с переменными окружения, установленными в файле .env.

js
node --env-file=.env app.js

Эта команда загружает все переменные окружения из файла .env, делая их доступными для приложения в process.env. Также вы можете передать несколько аргументов --env-file. Последующие файлы переопределяют уже существующие переменные, определенные в предыдущих файлах.

bash
node --env-file=.env --env-file=.development.env app.js

ПРИМЕЧАНИЕ

Если одна и та же переменная определена как в окружении, так и в файле, то приоритет имеет значение из окружения.