【发布时间】:2019-12-29 13:36:36
【问题描述】:
我想在我的 NodeJS 服务器中使用环境变量,
但是为了连接到我的云 mongoDB 数据库,我使用了等于 undefined 的环境变量,
这是部分代码:
require("dotenv").config();
console.log(process.env.USER); <------ output: undefined
console.log(process.env.PASSWORD); <------ output: undefined
mongoose
.connect(
`mongodb+srv://${process.env.USER}:${process.env.PASSWORD}@ofilms-demo-f9iwz.mongodb.net/test`,
{ useNewUrlParser: true, useUnifiedTopology: true }
)
这是我在服务器根目录下的 .env 文件:
USER=user
PASSWORD=password
但是 process.env.USER 和 process.env.PASSWORD 是未定义的,当我控制台记录它们时,
我错过了什么吗?
谢谢,
【问题讨论】:
-
可以分享一下文件夹结构吗?我猜文件的位置有问题。
-
确保 .env 文件位于根目录。也看看
const result = dotenv.config()的输出是什么 -
如果您的环境变量的路径不在根目录并且不是
.env,请确保您使用的是require('dotenv').config({ path: '/full/custom/path/to/your/env/vars' }) -
哇,这是因为 env filr 并不完全位于根目录,它是 1 层,所以很抱歉
-
@Versifiction 很高兴现在解决了。
标签: node.js express environment-variables