SuperAPI AI 工具集

vercel-services

部署与运维

查看项目

更新于 10-16 06:17

技能介绍

用途:将 Next.js 前端与 FastAPI 后端作为单个 Vercel 项目部署,通过 Services 实现共享环境变量、同一部署 URL 与基于路径的路由。项目模型:前端服务位于 frontend/,Next.js,挂载在 /;后端服务为 backend/main.py,FastAPI,挂载在 /api。浏览器请求应使用相对路径,例如 fetch("/api/chat"),不要硬编码 localhost 或独立后端域名。后端路由相对后端应用编写,@app.post("/chat") 因 Vercel 添加服务前缀而可通过 /api/chat 访问。必要配置:在根 vercel.json 中用 experimentalServices 与 mount 定义服务,前端 entrypoint 为 frontend、framework 为 nextjs、mount 为 /,后端 entrypoint 为 backend/main.py、framework 为 fastapi、mount 为 /api。修复或新建配置时统一使用 mount 并保持各服务条目一致,服务名保持 frontend、backend 稳定,仅在需要时设置 framework、memory、maxDuration、includeFiles、excludeFiles。不要添加 rewrite 将 /api 代理到 FastAPI,由 Services 路由负责该前缀;使用 experimentalServices 时项目框架需设为 Services。本地开发在仓库根运行 vercel dev -L,-L / --local 使本地开发无需向 Vercel Cloud 认证;在 Devbox/Sandbox 预览流程中遵循 devbox-preview 技能设置正确绑定地址与发布端口。排查:/api/chat 返回 404 时确认后端前缀为 /api 且路由为 /chat;前端本地连不上后端时确认请求经过 vercel dev 而非独立 Next.js 开发服务器;只构建一个应用时检查框架设置为 Services 且根 vercel.json 含 experimentalServices;更改 mount 路径时同步更新前端 fetch 路径、文档与测试。其余细节资料暂未提供。