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

Next.js部署报错:Hobby计划Serverless Functions数量超限排查

问题分析:Vercel Hobby Plan 超出Serverless Functions数量限制

一、哪些内容会被算作Vercel部署中的Serverless Functions?

在Vercel上部署Next.js项目时,以下内容会被统计为Serverless Functions:

  • Next.js API路由:pages/api目录下的每个文件(包括动态路由、catch-all路由)都会被打包成独立的Serverless Function,比如你的/api/auth/[...auth0]、/api/auth/callback等。
  • 服务端渲染页面:任何使用getServerSideProps或getInitialProps的页面,每个这类页面会生成一个单独的Serverless Function。
  • 根目录api文件夹的自定义函数:如果项目根目录存在独立的api文件夹(而非Next.js的pages/api),里面的函数也会被Vercel识别为Serverless Functions(这也是你构建日志中警告的来源)。
  • Next.js 13+ App Router相关:App Router中的Route Handlers、带服务端逻辑的Server Components也会生成Serverless Functions(你用的是Pages Router,可作为参考)。

二、为什么会触发超出12个的报错?

你提到自己只有6个API路由,但构建日志中重复出现了13次"Using TypeScript 4.7.4"——这通常对应Vercel正在为每个Serverless Function处理TypeScript配置,说明实际生成的Serverless Functions数量已经超过12个。可能的原因包括:

  1. 根目录存在额外的api文件夹:构建日志的警告明确提示,项目里可能有根目录下的api文件夹,里面的函数会被额外统计,加上pages/api的6个,总数就会突破12。
  2. Next.js版本的潜在bug:你使用的Next.js 13.0.3是早期版本,可能存在静态页面被误判为需要服务端渲染的问题,导致额外生成Serverless Functions。
  3. 隐藏的服务端逻辑:检查项目中是否有未注意到的服务端逻辑,比如自定义错误页面、第三方库自动生成的API路由等。

解决建议

  • 检查项目根目录是否存在api文件夹,将里面的函数迁移到pages/api目录,或删除不必要的函数。
  • 升级Next.js到较新的稳定版本,修复早期版本的潜在bug。
  • 清理构建缓存后重新部署,避免缓存导致的异常打包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 04:55:17