Express.js中环境变量未定义:无法读取数据库连接env变量求助
解决.env变量读取undefined的问题
检查.env文件位置
确保.env文件放在项目根目录,也就是你执行node xxx.js命令时所在的路径。如果文件不在根目录,要在config()里指定路径:require("dotenv").config({ path: "./config/.env" }); // 替换成你的.env实际路径核对.env文件格式
变量定义必须符合规范:- 等号前后不能有空格,正确写法:
MYSQL_PASS=your_password,错误写法:MYSQL_PASS = your_password - 不要给变量值加引号,正确写法:
MYSQL_PASS=123456,错误写法:MYSQL_PASS="123456"
- 等号前后不能有空格,正确写法:
检查变量名拼写
确认.env里的变量名和代码里的完全一致,比如代码里用的是MYSQL_PASS,就不能在.env里写成MYSQL_PASSWORD或者mysql_pass(环境变量名大小写敏感)确认dotenv已安装
如果是刚初始化的项目,可能没安装依赖,执行以下命令安装:npm install dotenv --save重启服务
修改.env文件后,Node.js不会自动重新加载配置,必须重启你的服务进程才能生效
内容的提问来源于stack exchange,提问作者mhmmdamiwn
相关产品推荐
相关产品推荐

