Ключи Dotenv process.env не доступны, пока я не сделаю копию объекта
Я добавляю.env к своему приложению Node Express и когда делаю:
console.log(process.env)
Я вижу некоторые переменные env процесса по умолчанию, которые я не добавил, а также одну пользовательскую переменную, которую я добавил в мой файл.env (TEST_VAR):
{
npm_package_devDependencies_nodemon: '^1.11.0',
npm_config_version_tag_prefix: 'v',
TEST_VAR: '12345'
}
Однако, когда на следующей строке я делаю:
console.log(process.env.TEST_VAR)
Я получил:
undefined
Однако, запустив это:
console.log(process.env.npm_package_devDependencies_nodemon)
Возвращает ожидаемое:
'^1.11.0'
Я смог решить это с:
var envVars = { ... process.env }
console.log(envVars.TEST_VAR)
Который на самом деле выводит значение, установленное в моем файле.env.
Кто-нибудь может пролить свет на то, почему мне нужно сделать копию, прежде чем я смогу получить доступ к переменным, которые, кажется, присутствуют?
1 ответ
дотенв требует .env
файлы должны быть в определенном формате, и он не включает JSON.
Это больше похоже на VARIABLE_KEY=VARIABLE_VALUE
, В вашем случае это будет выглядеть так
npm_package_devDependencies_nodemon=^1.11.0
npm_config_version_tag_prefix=v
TEST_VAR=12345