Ключи Dotenv process.env не доступны, пока я не сделаю копию объекта - PullRequest
0 голосов
/ 13 февраля 2019

Я добавляю .env в свое приложение Node Express, и когда я делаю:

console.log(process.env) 

, я вижу некоторые переменные env процесса по умолчанию, которые я не добавил, а также одну пользовательскую переменную I 'я добавил в мой файл .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 Ответ

0 голосов
/ 13 февраля 2019

dotenv требует .env файлов в определенном формате, и не включает JSON .

Это больше похоже на VARIABLE_KEY=VARIABLE_VALUE.В вашем случае это будет выглядеть так

npm_package_devDependencies_nodemon=^1.11.0
npm_config_version_tag_prefix=v
TEST_VAR=12345
...