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

Next.js 13 API路由无法读取环境变量的问题求助

Next.js 13 环境变量加载失败问题解决

核心问题:.env.local 格式错误

你的.env.local文件使用了冒号:赋值,而Next.js要求环境变量必须用**等号=**来定义,这是导致变量无法加载的根本原因。

修正后的 .env.local 格式

将文件内容改为:

DB_NAME=name
DB_USER=postgres
DB_PASSWORD=*****
DB_HOST=localhost
BD_DIALECT=postgres

正确访问环境变量的方式

1. 服务器端环境(API路由、getServerSideProps等)

在API路由或服务器端函数中,直接通过process.env.变量名访问即可,无需额外配置:

export default function handler(req, res) {
  console.log(process.env.DB_NAME);
  console.log(process.env.DB_HOST);
  res.status(200).send("OK");
}

2. 关于 serverRuntimeConfig 的说明

Next.js 13 中,serverRuntimeConfig 主要用于在服务器端共享配置,但前提是环境变量本身能被正确加载。修正.env格式后,直接用process.env更简洁,无需额外配置serverRuntimeConfig。

验证步骤

  • 确保.env.local文件在项目根目录(与package.json同级)
  • 修正格式后,完全重启开发服务器(不要依赖热重载,必须停掉服务后重新启动)
  • 再次调用API路由,查看控制台输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 06:42:44