使用Qwik Express Adapter部署至Vercel遇404问题求助
Qwik Express Adapter + Prisma 部署Vercel出现404问题排查与解决
核心问题原因
Qwik Express Adapter依赖Node.js服务端逻辑处理请求(比如SSR、API路由),你当前按静态站点配置部署,Vercel仅托管dist目录的静态文件,忽略了Express服务端入口,导致请求无法被正确路由,触发404。
具体修复步骤
1. 调整Vercel框架预设与运行时
- 框架预设不要选Vite,改为Node.js(或直接留空,让Vercel自动检测)
- 确保Vercel启用Node.js运行时,而非静态托管模式
2. 优化依赖与构建脚本
- 构建命令保持:
npx prisma generate && vite build - 在
package.json中添加postinstall脚本,确保Prisma客户端在依赖安装后自动生成:"scripts": { "postinstall": "prisma generate" }
3. 添加Vercel配置文件(vercel.json)
在项目根目录创建vercel.json,指定Express服务入口文件(根据你的项目结构调整路径,比如dist/entry.express.js):
{ "buildCommand": "npx prisma generate && vite build", "functions": { "dist/entry.express.js": { "runtime": "@vercel/node@3" } }, "routes": [ { "src": "/(.*)", "dest": "dist/entry.express.js" } ] }
注:若你的Express入口是server/index.ts,构建后路径通常为dist/server/index.js,对应修改上述配置即可。
4. 检查Prisma部署细节
- 确保数据库连接字符串通过Vercel环境变量配置,不要硬编码在代码中
- 确认
prisma generate生成的客户端文件被包含在构建产物中
验证步骤
- 本地执行
vite build,确认dist目录下生成了Express入口文件 - 推送修改至代码仓库,重新触发Vercel部署
- 部署完成后查看Vercel函数日志,确认Express服务正常启动
内容的提问来源于stack exchange,提问作者PiWizard3852
相关产品推荐
相关产品推荐

