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

部署Node.js代码至Vercel时遭遇404 Not Found错误求助

部署Node.js应用至Vercel时遭遇404 Not Found错误的排查建议

部署相关截图

我在尝试将Node.js代码部署至Vercel平台时,遇到了404 Not Found错误。以下是我的部署环境及已执行的操作:

  • 拥有一个计划部署到Vercel的Node.js应用;
  • 已配置部署设置并尝试通过Vercel平台完成部署;
  • 部署过程中持续出现404 Not Found错误。

我已检查以下内容:

  1. 请求体:确保发送至Vercel的请求包含所有必要数据且格式正确;
  2. 请求格式:验证请求符合预期格式并包含所有必填字段;
  3. 授权:确认拥有部署至Vercel的合法授权凭证;
  4. 端点URL:检查请求发送至Vercel的正确端点URL;
  5. 服务端代码:排查Node.js代码中与请求处理和部署相关的问题;
  6. 网络连接:确认网络连接无异常,可正常访问Vercel服务器。

尽管完成以上检查,仍未解决404错误,恳请提供该错误的潜在原因及有效排查方案。

404错误截图


潜在原因及排查方案

1. Vercel配置文件缺失或错误

  • 检查项目根目录是否存在vercel.json或now.json(旧版),确保配置了正确的路由规则和入口文件。比如Node.js服务需要指定functions字段或routes来映射请求到服务入口:
    {
      "functions": {
        "api/**/*.js": { "runtime": "@vercel/node@3" }
      },
      "routes": [
        { "src": "/(.*)", "dest": "/api/index.js" }
      ]
    }
    
  • 确认入口文件路径正确,Vercel默认识别api目录下的文件作为服务端点,若你的服务入口不在该目录,需在配置文件中明确指定。

2. 项目目录结构不符合Vercel要求

  • Vercel对Node.js服务的目录结构有特定要求,后端代码通常需放在api目录下,或通过配置文件指定路径。若服务入口文件位置不对,Vercel无法找到处理逻辑,会返回404。
  • 检查目录名、文件名的拼写和大小写(部署环境区分大小写),确保与配置一致。

3. 部署日志中的隐藏错误

  • 进入Vercel控制台的部署详情页,查看完整的构建和部署日志。有时表面是404,实际是构建过程中依赖安装失败、代码编译错误等问题导致服务未正常启动。
  • 重点关注Build Completed之前的报错信息,比如缺失依赖、语法错误,修复后重新部署。

4. 环境变量配置问题

  • 确认项目所需的环境变量已在Vercel控制台正确配置。若服务依赖环境变量才能初始化,未配置会导致服务启动失败,进而返回404。
  • 可在代码中添加日志,输出环境变量是否正确加载,辅助排查。

5. 路由匹配规则错误

  • 检查Node.js服务中的路由配置,确保请求路径与服务中的路由规则匹配。比如前端请求/api/data,但服务中只配置了/data路由,就会导致404。
  • 确认路由处理函数正确导出,Vercel要求Node.js服务入口文件需导出default函数作为请求处理程序:
    export default function handler(req, res) {
      res.status(200).json({ message: 'Hello World' });
    }
    

6. 缓存或部署缓存问题

  • 尝试清除Vercel部署缓存,重新触发部署。在Vercel控制台的部署页面选择Redeploy并勾选Clear Build Cache,避免旧缓存导致的异常。
  • 前端浏览器缓存也可能引发问题,可尝试用无痕模式访问部署后的站点。

内容的提问来源于stack exchange,提问作者Vishal Mishra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 21:58:28