Node.js .env 加载问题文件问题 - 变量加载为未定义
Node.js .env load problem file problem - variable is loading as undefined
我正在使用 discord.js 构建机器人。一切正常,但是当我今天 运行 编码时,我收到错误消息,指出我从 .env 文件加载的 TOKEN 无效。我检查了一下,TOKEN 是“未定义的”。我的文件夹树如下所示:
- 机器人文件夹
- Node.js 文件 (bot.js)
- .env 文件
我正在加载变量:
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
我正在使用 discord.js 构建机器人。一切正常,但是当我今天 运行 编码时,我收到错误消息,指出我从 .env 文件加载的 TOKEN 无效。我检查了一下,TOKEN 是“未定义的”。我的文件夹树如下所示:
- 机器人文件夹
- Node.js 文件 (bot.js)
- .env 文件
我正在加载变量:
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