You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js通过.env存储API密钥/令牌实现认证失败求助

解决Node.js无法读取.env文件的问题

以下是针对你遇到的问题的排查和解决步骤:

1. 确认dotenv依赖已正确安装

确保你已经执行过安装命令:

npm install dotenv

如果你的项目使用ES模块(代码里用了import),需要在package.json中添加"type": "module"字段,否则会出现模块加载错误。

2. 检查.env文件路径是否正确

dotenv默认会从项目根目录加载.env文件,如果你的JavaScript文件不在根目录(比如放在src/子文件夹),需要手动指定文件路径:

import dotenv from "dotenv";
// 根据你的文件层级调整路径,比如src下的文件要找根目录的.env
dotenv.config({ path: "../.env" });

3. 验证.env文件格式

确保.env文件没有多余的空格、引号或注释:

  • 错误示例:API_USERNAME= userid(等号后有空格)、API_USERNAME="userid"(带引号)
  • 正确格式:API_USERNAME=userid

4. 调试环境变量是否加载成功

在代码中添加打印语句,确认process.env.API_USERNAME是否能正确读取:

import dotenv from "dotenv";
dotenv.config();

console.log("API_USERNAME:", process.env.API_USERNAME); // 打印查看值
var myHeaders = new Headers();
let token = "hfdhdfgfdhgs24";

let auth = btoa(`${process.env.API_USERNAME}:${token}`);

如果打印结果是undefined,说明.env文件没被正确加载,回到前面的步骤排查;如果能打印出userid,则问题可能出在API调用的其他环节(比如Headers设置、请求方法等)。

5. 进阶:将token也移入.env(可选)

为了统一管理,建议把token也放到.env文件中:
.env文件新增:

API_TOKEN=hfdhdfgfdhgs24

代码中修改:

let token = process.env.API_TOKEN;

内容的提问来源于stack exchange,提问作者Jenny Hui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 22:12:11