Node.js .env 加载问题文件问题 - 变量加载为未定义

Node.js .env load problem file problem - variable is loading as undefined

我正在使用 discord.js 构建机器人。一切正常,但是当我今天 运行 编码时,我收到错误消息,指出我从 .env 文件加载的 TOKEN 无效。我检查了一下,TOKEN 是“未定义的”。我的文件夹树如下所示:

我正在加载变量:

const TOKEN = process.env.TOKEN;

在 .env 文件中,我像这样分配了 TOKEN。

TOKEN=my-bot-token

有什么想法吗?我几次重新启动我的代码编辑器 (VS Code)。完全相同的代码在前一段时间工作过...

谢谢!

const TOKEN = process.env.TOKEN; 不会从您的 .env 加载任何内容。你需要使用类似 dotenv:

const { parsed, error } = require('dotenv').config();

if (error) {
  // Handle error
  throw error;
}

console.log(parsed);

另请注意:

As early as possible in your application, require and configure dotenv.

编辑: 您还可以将 path 设置为您的 .env:

const { parsed, error } = require('dotenv').config({
  path: '/full/custom/path/to/your/env/vars'
});

一个非常简单的方法就是在您的导入语句旁边键入以下命令。

require('dotenv').config();

然后,您可以只使用常规形式访问变量。如:

process.env.TOKEN