【问题标题】:Using environment variables in NodeJS (with npm package dotenv)在 NodeJS 中使用环境变量(使用 npm 包 dotenv)
【发布时间】: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


【解决方案1】:

确保 .env 文件位于根目录。也看看 const result = dotenv.config() 的输出是什么

另外,如果 env 变量的路径不在root 并且不是 .env

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-14
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 2020-07-12
    • 2017-11-04
    • 2018-08-03
    相关资源
    最近更新 更多