.env文件中的密钥在NodeJS中不起作用

时间:2018-07-26 16:38:13

标签: node.js environment-variables

我有一堆secret密钥,我想保留在.env文件中,并在我的app.js中引用它

我安装了dotenv

在我的app.env文件中

ROOMID =abcxyz
BOTEMAIL =abc@mymail.com

在我的app.js

require('dotenv').config();
var roomID = process.env.ROOMID
var botEmail = process.env.BOTEMAIL

当我运行使用RoomID发送消息的app.js时,它无法写消息,因为找不到房间ID

如果我直接使用

var roomID = 'abcxyz'
var botEmail = 'abc@mymail.com'

然后程序运行。我想念什么?

1 个答案:

答案 0 :(得分:1)

如果您使用

require('dotenv').config();

您的文件应名为.env而不是app.env,并且应位于项目的根目录中。

如果包含环境变量的文件的名称或位置不同,则可以指定自定义路径。

require('dotenv').config({path: '/full/custom/path/to/your/env/vars'});

如果您的文件app.env位于应用的根目录中,则为:

require('dotenv').config({path: 'app.env'});

此外,如果在实际的系统环境变量中定义了相同的变量,则将使用该值代替.env文件中的值。


希望对您有所帮助。