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

Node.js中无法访问.env文件环境变量的问题求助(Discord机器人开发)

解决dotenv无法加载环境变量的问题
  • 确认dotenv已正确安装
    先确保你已经在项目中安装了dotenv依赖:

    npm install dotenv --save
    
  • 明确指定.env文件路径
    如果你的入口JS文件不在项目根目录(比如在src文件夹下),dotenv可能无法自动找到根目录的.env文件,需要手动指定路径:

    const dotenv = require('dotenv');
    const path = require('path');
    
    // 根据你的目录结构调整路径,比如入口在src下,.env在根目录就用../.env
    dotenv.config({ path: path.resolve(__dirname, '../.env') });
    
    console.log(process.env.A);
    console.log(process.env.B);
    console.log(process.env.DISCORD_TOKEN);
    
  • 修正.env文件格式
    移除变量值周围的双引号,dotenv会自动处理字符串类型的值,多余的引号可能导致解析异常:

    A=123
    B=456
    DISCORD_TOKEN=some-token
    
  • 检查是否覆盖了全局process变量
    排查你的代码中是否存在重新定义process变量的情况(比如let process = ...或const process = require('process')),这会覆盖Node.js全局的process对象,导致无法访问process.env。如果有这类代码,删除或重命名变量即可。

  • 验证运行方式
    确保你直接用Node.js运行入口文件,比如:

    node src/你的入口文件名.js
    

    避免使用可能干扰环境变量加载的第三方工具(若使用nodemon等工具,确保其配置没有屏蔽环境变量)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 11:36:06