Vercel部署Express.js应用:maxDuration配置冲突问题求助
解决Vercel托管Express.js应用的maxDuration配置冲突问题
你遇到的问题核心是**builds与functions字段在Vercel配置中无法同时使用**——当通过builds将整个Express应用(server.js)打包为单个Node.js无服务器函数时,functions字段是针对独立的单个函数文件做配置的,两者逻辑冲突。
正确的做法是把maxDuration直接配置在builds的对应条目里,因为你的整个Express应用是作为单一无服务器函数运行的,所有控制器、中间件都是这个函数的一部分,无需单独配置。
修改后的vercel.json配置如下:
{ "version": 2, "builds": [ { "src": "./server.js", "use": "@vercel/node", "config": { "maxDuration": 60 } } ], "routes": [ { "src": "/(.*)", "dest": "/server.js" } ] }
关键说明:
- 移除冲突的
functions字段,将maxDuration放到builds条目的config属性下,直接给整个Express对应的无服务器函数设置超时时间。 - Pro套餐下该配置会生效,函数最大运行时长将被设置为60秒,解决API超时问题。
- 保留
builds和routes配置,确保Vercel能正确识别server.js作为应用入口,将其打包为Node.js函数并处理所有路由请求。
内容的提问来源于stack exchange,提问作者Chima
相关产品推荐
相关产品推荐

