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

Next.js 12(React技术栈)无法读取环境变量,process.env为undefined

核心原因
  • Next.js 为了避免敏感环境变量泄露到浏览器端,不会将完整的process.env对象暴露给客户端运行时,只有名称带NEXT_PUBLIC_前缀的变量才允许被注入到客户端代码中。
  • 客户端代码构建阶段,Next.js 只会静态替换代码中出现的process.env.NEXT_PUBLIC_XXX字面量为对应变量值,不会保留整个process.env对象的引用,因此直接打印process.env会返回undefined。
正确验证方式

直接打印你配置的具体环境变量即可,不需要打印整个process.env对象:

console.log('###ENV', process.env.NEXT_PUBLIC_DEVELOPMENT_ENV_VARIABLE)

执行后会正常输出你配置的"public_development_variable"值。

注意事项
  • 不带NEXT_PUBLIC_前缀的环境变量仅能在服务端代码中访问,客户端访问会返回undefined。
  • 修改.env.local文件后必须重启开发服务,新的配置才会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:36:01