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
相关产品推荐
相关产品推荐

