如何访问node.js app heroku中的.env文件中的变量

时间:2017-03-06 18:55:34

标签: javascript node.js heroku environment-variables

我在名为.env

的文件中声明了变量

MONGOCONNECTIONSTRING=connectionstring

当我运行heroku local web时,它说

[OKAY] Loaded ENV .env File as KEY=VALUE Format

我正在尝试使用像这样的环境变量

const connectionString = process.env.MONGOCONNECTIONSTRING

在我的index.js文件中

当我尝试打印变量connectionstring时,它是未定义的。如何访问变量。

Heroku的best practices说这样做但是我必须遗漏一些东西,因为变量永远不可用。

2 个答案:

答案 0 :(得分:3)

Heroku的一般做法是通过Heroku Dashboard或CLI命令设置配置变量来配置应用程序。建议使用CLI,因为您可以一次设置多个变量:

heroku config:set MONGOCONNECTIONSTRING=connectionstring

.env文件只应用于本地开发,不应将此文件提交到存储库。它实际上是在您链接的文档中提到的。

我也想知道你是否在Heroku上配置了MongoDB插件?如果是这样,它应该自动设置适当的连接字符串。也许你应该检查文档。

答案 1 :(得分:1)

我发现了这个问题。 .env文件未在UTF-8中编码,因此解析错误。