Как читать переменные окружения из Node.js
Встроенный модуль process
в Node.js предоставляет свойство env
, которое содержит все переменные окружения, установленные на момент запуска процесса.
Следующий код запускает app.js
и устанавливает USER_ID
и USER_KEY
.
USER_ID=239482 USER_KEY=foobar node app.js
Это передаст пользователю USER_ID
со значением 239482 и USER_KEY
со значением foobar. Это подходит для тестирования, однако для продакшена вы, вероятно, будете настраивать некоторые bash-скрипты для экспорта переменных.
ПРИМЕЧАНИЕ
process
не требует "require"
, он доступен автоматически.
Вот пример доступа к переменным окружения USER_ID
и USER_KEY
, которые мы установили в коде выше.
process.env.USER_ID // "239482
process.env.USER_KEY // "foobar
Таким же образом вы можете получить доступ к любой пользовательской переменной окружения, которую вы установили. В Node.js 20 появилась экспериментальная поддержка файлов .env.
Теперь вы можете использовать флаг --env-file
для указания файла окружения при запуске вашего приложения Node.js. Вот пример файла .env
и как получить доступ к его переменным с помощью process.env
.
.env файл
PORT=3000
В вашем js файле
process.env.PORT // 3000
Запустите файл app.js
с переменными окружения, установленными в файле .env
.
node --env-file=.env app.js
Эта команда загружает все переменные окружения из файла .env
, делая их доступными для приложения в process.env
. Также вы можете передать несколько аргументов --env-file
. Последующие файлы переопределяют уже существующие переменные, определенные в предыдущих файлах.
node --env-file=.env --env-file=.development.env app.js
ПРИМЕЧАНИЕ
Если одна и та же переменная определена как в окружении, так и в файле, то приоритет имеет значение из окружения.