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

AdonisJS v6部署至Vercel后出现404错误求助

AdonisJS v6部署Vercel后404问题排查与解决

核心问题分析

部署流程显示成功但访问404,通常是构建产物路径不匹配、服务器入口错误或路由未正确注册导致,结合你提供的配置,优先排查以下几点:

1. 修正Start脚本路径

你的package.json中start脚本指向根目录的bin/server.js,但AdonisJS v6的ace build命令会将编译后的JS产物输出到build目录,生产环境应该启动构建后的服务器文件:

"scripts": {
    "start": "node build/bin/server.js", // 修改此处
    "build": "node ace build",
    "dev": "node ace serve --hmr",
    "test": "node ace test",
    "lint": "eslint .",
    "format": "prettier --write .",
    "typecheck": "tsc --noEmit"
  }

2. 验证Vercel配置匹配

从截图看Vercel的Output Directory设置为build,需确保:

  • Build Command为npm run build(或对应包管理器的构建命令)
  • 构建完成后build目录包含完整编译产物(bin/server.js、app目录等)

3. 检查路由注册

确认start/routes.ts中存在可访问的路由,比如根路径路由:

import router from '@adonisjs/core/services/router'

router.get('/', async () => {
  return { status: 'ok', message: 'AdonisJS v6 deployed on Vercel' }
})

4. 查看Vercel部署日志

进入Vercel部署详情页,检查:

  • Build阶段:node ace build是否执行成功,有无依赖缺失、TypeScript编译错误等报错
  • Start阶段:服务器是否正常启动,有无"文件不存在"类的报错

5. 确认Vercel路由规则

对于AdonisJS后端应用,无需额外配置Vercel重写规则,确保Vercel将所有请求转发到Node.js服务器,不要启用"静态网站"模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:56:06