环境变量在节点 js 服务器中不起作用

environment variables not working in node js server

当我直接在 nodemailer 服务器中设置我的用户名和密码时,它按预期工作

auth: {
    user: 'myusername',
    pass: 'mypassword'
},

但是在使用 dotenv 时,没有任何反应

require ('dotenv').config();

auth: {
  user: process.env.USERNAME,
  pass: process.env.PASSWORD
},

我在服务器端 运行 npm install dotenv 并使用以下变量设置一个 .env 文件:

USERNAME:myusername

PASSWORD:mypassword

您的 .env 文件中的语法不正确。使用等号 = 而不是冒号 :.

USERNAME=myusername
PASSWORD=mypassword

另请参阅:https://www.npmjs.com/package/dotenv

dotenv docs 中所述,它需要 NAME=VALUE 格式的变量。您的文件应改为包含:

USERNAME=myusername
PASSWORD=mypassword

当我将 env 文件命名为 时,我遇到了同样的问题。env.local 但是当我将文件名更改为简单的 .env 时,它起作用了!