如何解决TypeScript版Node.js后端Vercel部署404问题?
解决Vercel部署TypeScript MERN后端404问题
问题核心是Vercel部署时未执行TypeScript编译生成dist文件夹,导致路由找不到目标文件,以下是具体解决步骤:
步骤1:确认package.json的build脚本
确保package.json中包含正确的编译命令,本地执行npm run build能生成dist文件夹即可:{ "scripts": { "build": "tsc", "dev": "nodemon src/index.ts", "start": "node dist/index.js" } }步骤2:调整vercel.json配置
原配置直接指向src/index.ts会导致Vercel仅编译单个文件,而非完整执行TS编译流程。修改配置让Vercel先执行build命令生成dist:{ "version": 2, "builds": [ { "src": "package.json", "use": "@vercel/node", "config": { "command": "npm run build" } } ], "routes": [ { "src": "/(.*)", "dest": "dist/index.js", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"], "headers": { "Access-Control-Allow-Origin": "*", "Cache-Control": "max-age=0, s-maxage=86400, stale-while-revalidate" } } ] }步骤3:配置Vercel项目构建参数
登录Vercel控制台进入项目:- 进入「Settings」→「General」
- 在「Build & Development Settings」区域,将「Build Command」设置为
npm run build,「Output Directory」设置为dist
步骤4:验证部署日志
重新部署后查看日志,确认:- 存在
tsc执行记录,无编译错误 - 日志中显示成功生成
dist文件夹及index.js文件
- 存在
额外排查点
- 确保
.gitignore中包含dist(无需提交编译产物到Git,Vercel会在部署时生成) - 确认tsconfig.json的
outDir和rootDir配置正确,你当前的配置无问题:{ "compilerOptions": { "outDir": "./dist", "rootDir": "./src" } }
- 确保
调整完成后重新部署,dist文件夹会出现在部署产物中,根路由即可正常返回内容。
内容的提问来源于stack exchange,提问作者Tauseef Razaq
相关产品推荐
相关产品推荐

