如何修复 Vercel 的 NestJS 部署错误?

Yuj*_*uji 8 deployment backend node.js vercel nestjs

在此输入图像描述

这是 now.json

{
  "version": 2,
  "name": "nestjs-now",
  "builds": [
    {
      "src": "dist/main.js",
      "use": "@now/node"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "dist/main.js"
    }
  ]
}

Run Code Online (Sandbox Code Playgroud)

我不确定原因是什么以及如何解决。我只是按照 vercel 教程部署了 Nestjs 后端项目,但不起作用。它包括 GraphQL API 和 Rest API 以及 socket.io 服务器。

pau*_*gdm 9

为什么它不起作用?

Vercel 上的无服务器函数(目前)不接受函数代码的构建步骤。因此,任何需要“构建步骤”来生成服务器的后端框架都将无法工作。

Vercel 最适合什么用途?

前端部署和无服务器功能作为帮助者。成熟的 API 应该部署在其他地方。您可以检查以下资源:

我有什么选择?

我建议您使用 Heroku 或 Digital Ocean 作为替代方案。


更新2021-11-11

现在您可以部署任何具有 SSR、API 路由和 Edge Functions(很快)的框架部署到 Vercel。只需确保您遵循文件系统 API规范即可。

您可以阅读介绍部分以获取更多信息。请记住,Vercel 是一个针对前端部署进行优化的平台。