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

Next.js应用中edgeFunctionEntry.env为null致生产崩溃,求原因分析

edgeFunctionEntry.env为null导致Next.js生产环境崩溃的原因分析

直接崩溃原因

崩溃的核心是buildEnvironmentVariablesFrom函数中对injectedEnvironments调用了Object.keys(),而injectedEnvironments是null——JavaScript不允许对null调用Object.keys(),因此抛出TypeError直接导致应用崩溃。

可能的根因

  • Edge函数未配置环境变量:定义Edge Function时,若未指定需要注入的环境变量,Next.js构建过程中会默认将edgeFunctionEntry.env设为null,而非预期的空对象{}。
  • Next.js版本BUG:部分旧版本的Next.js在处理Edge Runtime环境变量时存在逻辑漏洞,当无显式环境变量声明时,未给edgeFunctionEntry.env设置默认空对象,直接保留为null。
  • 自定义Runtime逻辑错误:如果有修改Edge Runtime的自定义代码(比如你提供的createModuleContext逻辑),可能在生成或传递edgeFunctionEntry参数时,未正确初始化env属性,导致其为null。
  • 生产环境构建变量注入失败:生产构建时,环境变量未被正确加载或解析,比如使用的环境变量管理工具在生产环境未正常工作,导致Next.js无法生成有效的env对象,最终传入null。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:10:02