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

使用dotenv时JS无法读取上级目录.env文件变量求助

解决dotenv无法读取上级目录.env文件的问题

问题核心是dotenv默认会在当前Node进程的工作目录下查找.env文件,你的index.js位于examples目录,执行时默认会在examples目录下找.env,但你的.env在项目根目录,所以读取不到。

两种解决办法

方法1:在代码中指定.env文件路径

借助Node的path模块,明确指向根目录的.env文件,修改index.js代码如下:

const path = require('path');
// __dirname 是当前文件(index.js)所在的目录,../ 回到项目根目录
require('dotenv').config({ path: path.resolve(__dirname, '../.env') });

console.log(process.env.DOG);

方法2:调整脚本执行的工作目录

在项目根目录下执行index.js,而不是进入examples目录执行:

# 项目根目录下运行
node examples/index.js

这种情况下dotenv会默认在当前工作目录(根目录)找到.env文件,无需修改代码。

额外验证步骤

可以在代码中先打印当前工作目录,确认问题:

console.log(process.cwd()); // 输出当前Node进程的工作目录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 06:12:05