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

如何为Next.js API路由动态配置运行时,适配开发与生产环境

解决Next.js 13开发/生产环境切换Runtime的简便方法

方法一:利用NODE_ENV自动判断(最简便)

直接在所有API路由文件中通过process.env.NODE_ENV区分环境,自动切换runtime:

export const runtime = process.env.NODE_ENV === 'development' ? 'nodejs' : 'edge';
  • 本地执行npm run dev时,Next.js会自动将NODE_ENV设为development,runtime自动切换为nodejs
  • 部署到Cloudflare Pages时,环境默认是production,runtime自动使用edge,无需额外修改配置

方法二:自定义环境变量(更灵活)

如果需要更精准的环境控制,可以通过自定义环境变量实现:

  1. 在项目根目录创建.env.development文件,写入:
NEXT_RUNTIME=nodejs
  1. 创建.env.production文件,写入:
NEXT_RUNTIME=edge
  1. 在API路由文件中统一导出:
export const runtime = process.env.NEXT_RUNTIME || 'edge';

注:Next.js会自动加载对应环境的.env文件;Windows开发环境建议安装cross-env确保环境变量兼容,Cloudflare Pages部署时只需在控制台配置好生产环境变量即可。

你之前用环境变量失效,大概率是因为没有针对不同环境配置对应变量,或是变量未正确注入服务端代码。上述两种方法都能避免手动逐个修改路由文件的繁琐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 16:27:06