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

dotenv配置文件导出数据返回undefined的问题求助

解决dotenv加载后process.env变量返回undefined的问题

先整理下你的配置和代码:

.env 文件内容

PORT=3000
MONGO_URI=mongodb+srv://userfg:<password>@cluster0.45m0c4f.mongodb.net/?retryWrites=true&w=majority
MONGO_DBNAME=inventario

配置JS文件代码

require('dotenv').config();
module.exports.Config = {
  port: process.env.PORT,
  mongoURI: process.env.MONGO_URI,
  mongodbname: process.env.MONGO_DBNAME
};

console.log(process.env.PORT);

下面是几个必查的解决点:

  • 确认.env文件的位置和命名
    必须把.env放在项目根目录(和你的配置JS文件同级,或者项目最外层目录),文件名必须是.env(前面的点不能丢)。如果文件不在根目录,要手动指定路径:

    require('dotenv').config({ path: './src/config/.env' }); // 替换成你的实际路径
    
  • 检查.env文件的语法规范
    键值对不能有空格(比如PORT = 3000是错的,必须写成PORT=3000);不要给变量值加引号(比如PORT="3000"会把引号也包含进变量值里)。另外注意把<password>替换成你的MongoDB真实密码。

  • 确保dotenv加载在最前面
    把require('dotenv').config()放在JS文件的第一行,不要在它之前导入其他依赖或者访问process.env,否则会因为变量还没加载就读取导致undefined。

  • 排查文件加载是否成功
    可以打印dotenv的加载结果,确认是否读取到文件:

    const dotenvResult = require('dotenv').config();
    if (dotenvResult.error) {
      console.error('加载.env文件失败:', dotenvResult.error);
    }
    console.log('解析到的.env变量:', dotenvResult.parsed); // 如果是undefined说明没找到文件
    
  • 重新安装依赖确保兼容性
    有时候依赖安装可能出问题,执行以下命令重新安装:

    npm uninstall dotenv
    npm install dotenv
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:37:21