在Netlify上将Next.js从Edge Functions切换为Serverless Functions
将Next.js API路由切换为Netlify Serverless Functions的方法
1. 清理Edge Runtime相关配置
如果你的API路由文件(pages/api/目录下的文件)里显式指定了Edge Runtime,需要移除或修改:
// 移除该行,或替换为Node.js runtime配置 // export const runtime = 'edge' export const runtime = 'nodejs' // 可选,显式声明使用Node.js运行时
2. 配置Netlify构建规则
在项目根目录创建或修改netlify.toml文件,添加配置强制API路由部署为Serverless Functions:
[[plugins]] package = "@netlify/plugin-nextjs" [plugins.inputs] serverless = true
若使用最新版Netlify Next.js插件,可简化为:
[[nextjs]] serverless = true
3. 重新部署项目
提交修改后的配置文件,触发Netlify重新构建部署即可完成切换。
如果遇到兼容问题,可检查@netlify/plugin-nextjs版本是否在4.0及以上,不同版本的配置细节可能略有差异。
内容的提问来源于stack exchange,提问作者Felix Eklöf
相关产品推荐
相关产品推荐

