【问题标题】:Dotenv process.env keys are not accessible until I make a copy of the object在复制对象之前,无法访问 Dotenv process.env 键
【发布时间】:2019-02-13 06:52:56
【问题描述】:

我正在将 .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 文件中设置的值。

谁能解释一下为什么我需要在我能够访问似乎存在的变量之前制作一个副本?

【问题讨论】:

    标签: node.js express dotenv


    【解决方案1】:

    dotenv 要求 .env 文件采用特定格式,而 doesn't include JSON

    它看起来更像VARIABLE_KEY=VARIABLE_VALUE。在你的情况下,它看起来像这样

    npm_package_devDependencies_nodemon=^1.11.0
    npm_config_version_tag_prefix=v
    TEST_VAR=12345
    

    【讨论】:

    • 抱歉,如果我的帖子不清楚,我的 .env 文件只包含一行如下所示:TEST_VAR=12345 您看到的 JSON 外观对象是运行该行的结果:@ 987654327@
    猜你喜欢
    • 2021-01-17
    • 2022-07-29
    • 2019-10-07
    • 2019-10-06
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    相关资源
    最近更新 更多