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

后端环境变量访问异常:mailtrap.config.js无法读取根目录.env

问题分析与解决方案

核心问题是dotenv默认加载路径不匹配,导致mailtrap.config.js无法读取根目录的.env文件。

原因

  • generateTokenAndSetCookie.js所在位置(或项目启动入口)的执行目录是项目根目录,dotenv默认会加载当前执行目录下的.env,所以能正常读取。
  • mailtrap.config.js位于mailtrap子目录中,若未手动指定路径,dotenv会尝试加载mailtrap目录下的.env,而非根目录的。

修复步骤

  1. 在mailtrap.config.js中,使用path模块指定根目录.env的绝对路径:

    const dotenv = require('dotenv');
    const path = require('path');
    
    // 从当前文件目录向上回溯到项目根目录,加载根目录的.env
    dotenv.config({ path: path.resolve(__dirname, '../../.env') });
    
    • __dirname代表当前文件(mailtrap.config.js)的所在目录,../../用于回到项目根目录(可根据你的实际文件结构调整层级,确保路径指向正确)。
  2. 验证变量读取:
    在配置文件中添加打印语句确认:

    console.log(process.env.TOKEN_MAILTRAP); // 应输出根目录.env中的对应值
    
  3. 额外检查

    • 确认根目录.env文件中存在TOKEN_MAILTRAP和ENDPOINT_MAILTRAP变量,且拼写无错误(环境变量名大小写敏感)。
    • 确保项目启动时,没有其他配置覆盖这些环境变量。

内容的提问来源于stack exchange,提问作者Vinay Sankar Gokavarapu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:45:57