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

如何在Vercel部署Node.js+Express+TS应用?部署遇404问题求助

解决Vercel部署Express+TypeScript应用的404问题
  • 添加Vercel专属配置文件
    Vercel对Node.js服务的部署需要明确的路由和构建规则,在项目根目录创建vercel.json,配置如下:

    {
      "buildCommand": "npm run build",
      "builds": [
        {
          "src": "dist/server.js",
          "use": "@vercel/node"
        }
      ],
      "routes": [
        {
          "src": "/(.*)",
          "dest": "dist/server.js"
        }
      ]
    }
    

    该配置会告知Vercel执行正确的构建命令,并将所有请求转发到你的Express入口文件。

  • 验证构建产物完整性
    查看Vercel部署日志,确认npm run build命令执行成功,dist目录下的server.js及其他依赖文件是否正常生成。如果构建环节出错,会导致Vercel找不到可运行的服务入口,直接返回404。

  • 修正package.json脚本语法
    你的scripts配置末尾多了一个冗余逗号,虽然本地环境可能忽略,但在Vercel的严格解析环境下可能引发问题,建议移除:

    "scripts": {
      "start": "cross-env NODE_ENV=production node dist/server.js",
      "build": "swc src -d dist --source-maps --copy-files",
      "serve": "cross-env NODE_ENV=development node dist/server.js"
    }
    
  • 检查端口配置
    Vercel使用动态分配的端口,不能硬编码固定端口(如3000),确保你的Express代码中使用环境变量获取端口:

    const port = process.env.PORT || 3000;
    app.listen(port, () => {
      console.log(`Server running on port ${port}`);
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 06:42:06