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

在Vercel部署AdonisJS全栈应用时持续出现404错误求助

解决AdonisJS全栈应用部署Vercel的404错误

尝试将AdonisJS全栈应用部署到Vercel时,始终收到404错误提示:
404错误界面

已尝试的操作:

  • 修改构建脚本为 node ace --production && cp .env build/.env
  • 将包管理工具从Yarn切换为npm
  • 添加了vercel.json配置文件,内容如下:
{
  "version": 2,
  "buildCommand": "node ace build --production",
  "devCommand": "npm run dev",
  "installCommand": "npm install",
  "outputDirectory": "build",
  "public": true,
  "env" : {
    "PORT":"3333",
    "HOST":"127.0.0.1",
    "EMAIL_SENDER_NAME":"",
    "montravaux_BASE_URL":"http://localhost:3333",
    "NODE_ENV":"testing",
    "APP_KEY":"",
    "DRIVE_DISK":"local",
    "SESSION_DRIVER":"cookie",
    "HASH_DRIVER":"bcrypt",
    "CACHE_VIEWS":"",
    "DB_CONNECTION":"",
    "PG_HOST":"d",
    "PG_PORT":"",
    "PG_USER":"",
    "PG_PASSWORD":"",
    "PG_DB_NAME":""
  },
  "routes": [
    {
      "src": "/(.*)",
      "dest": "/start/route.js"
    }
  ]
}

核心修复方案

  1. 修正路由转发配置
    Vercel的routes配置中dest指向错误,AdonisJS构建后的入口文件是build/server.js,需修改路由规则:
"routes": [
  {
    "src": "/(.*)",
    "dest": "/server.js"
  }
]
  1. 调整环境变量
  • 将NODE_ENV改为production,匹配Vercel生产环境模式
  • montravaux_BASE_URL替换为Vercel分配的实际域名,而非本地地址
  • 敏感变量(如APP_KEY、数据库信息)不要明文写在vercel.json中,通过Vercel控制台的环境变量面板配置
  1. 优化构建逻辑
    确保构建产物完整,可调整buildCommand为:
node ace build --production && cp .env build/.env

(注:若.env包含生产环境专属配置才需复制,否则建议完全通过Vercel环境变量注入)

  1. 本地验证构建产物
    部署前本地执行node ace build --production,检查build目录下是否生成server.js及完整的应用文件结构,确认依赖安装正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:53:22