Next.js 15.0.3中MongoDB连接时环境变量未定义问题
解决Next.js 15中后端process.env.MONGODB_URI返回undefined的问题
- 确认.env文件位置:必须放在项目根目录(而非src文件夹内),文件名为
.env(注意前缀的点)。若将其放在src目录下,服务器端代码无法读取到该文件。 - 检查.env文件内容:确保变量定义格式正确,示例:
MONGODB_URI=mongodb+srv://你的连接地址,不要给连接地址加引号,也不要留多余空格。 - 重启开发服务器:修改.env文件后,必须完全关闭并重启Next.js开发服务器,否则新的环境变量不会被加载。
- 自定义server.js需手动加载dotenv:如果你的server.js是自定义的(非Next.js默认服务器),需要在server.js最顶部手动加载环境变量:
若使用CommonJS语法,改为:import dotenv from 'dotenv'; import path from 'path'; dotenv.config({ path: path.resolve(__dirname, '../../.env') });
注意根据你的项目结构调整路径,确保指向根目录的.env文件。const dotenv = require('dotenv'); const path = require('path'); dotenv.config({ path: path.resolve(__dirname, '../../.env') }); - 确认服务器启动目录:确保在项目根目录下启动服务器,比如运行
npm run dev或node src/server.js,不要进入src文件夹后再启动。
内容的提问来源于stack exchange,提问作者787 xd
相关产品推荐
相关产品推荐

