最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在我制作对象的副本之前,无法访问Dotenv process.env键

运维笔记admin16浏览0评论

在我制作对象的副本之前,无法访问Dotenv process.env键

在我制作对象的副本之前,无法访问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文件中设置的值。

在我能够访问看似存在的变量之前,有没有人可以解释为什么我需要制作副本?

回答如下:

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
发布评论

评论列表(0)

  1. 暂无评论