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

Vercel部署修改maxDuration无效,函数配置无法识别路由

Express+TypeScript后端部署Vercel配置maxDuration问题解决

问题背景

将Express+TypeScript后端部署到Vercel,需要把函数maxDuration调整为30秒。原builds配置不支持该参数,改用functions配置后,Vercel无法识别函数,抛出错误:

functions中定义的模式"api/index.js"在api目录下找不到任何无服务器函数。

编译后的文件输出到dist目录,主入口为dist/api/index.js,对应源码src/api/index.ts。

正确配置方案

修改vercel.json,将functions的路径指向编译后的实际文件,同时保留原有可正常运行的builds和routes配置:

{
  "version": 2,
  "buildCommand": "npm run build",
  "installCommand": "npm install",
  "builds": [
    {
      "src": "dist/api/index.js",
      "use": "@vercel/node",
      "config": {
        "includeFiles": ["dist/**"]
      }
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "dist/api/index.js"
    }
  ],
  "functions": {
    "dist/api/index.js": {
      "maxDuration": 30
    }
  }
}

配置说明

  • functions字段的路径必须对应项目根目录下的实际文件位置,这里是dist/api/index.js,而非源码目录的路径
  • 保留builds配置确保Vercel正确识别Node.js函数编译入口,并包含所有dist目录下的依赖文件
  • routes配置确保所有请求都转发到编译后的Express入口文件
  • maxDuration直接在functions对应的文件配置中设置为30秒

额外检查项

  1. 确认tsconfig.json中的outDir设置为"dist",保证编译产物路径正确
  2. 本地执行npm run build,检查dist/api/index.js是否生成
  3. 确保dist目录已被Git提交(项目pre-commit钩子已包含add-build步骤,可自动完成)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:36:03