了解部署到 Vercel 非常简单,但是,在部署过程中需要考虑一些设置。
考虑到您的 NestJS 应用程序已准备好部署,让我们从 Supabase 设置开始。
Supabase 是一个开源 Firebase 替代方案,完全支持和无缝配置 PostgreSQL 数据库,并且还提供身份验证、存储等附加功能。
在 Supabase 上设置一个新帐户并在该帐户中创建一个新项目。
设置完成后,单击主页页面上的连接按钮。这将向您展示将数据库连接到您的项目的不同选项
使用提供的凭据在本地测试连接,以确保一切正常运行。
注意:确保凭据不会暴露并存储在您的 .env 文件中(我相信您已经知道这一点?)
接下来,让我们设置 Vercel 帐户并部署项目
通常,Vercel 主要用于前端应用程序部署,但是,它也可以用于部署后端项目。
PS:如果您正在开发中型到大型后端部署项目,请改用合适的服务提供商。
在您的 Vercel 帐户上,创建一个新项目并连接到您的 Git 存储库。导入您的 .env 文件并单击 部署 按钮。
瞧,就是这样???。
...
这是一个常见错误,因为 Vercel 在构建过程中需要知道您的输出目录。要解决此问题,只需添加 versel.json 文件并复制以下内容:
{ "version": 2, "builds": [ { "src": "src/main.ts", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "src/main.ts", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"] } ] }
再次运行部署即可
...
就我而言,这是因为找不到模块错误
...
有几种方法可以解决这个问题:
来自
{ "version": 2, "builds": [ { "src": "src/main.ts", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "src/main.ts", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"] } ] }
到
import { UsersService } from 'src/users/users.service';
...
我最终采用了这种方法,因为我不需要将我的应用程序限制为仅使用相对路径导入。
因此,将 vercel.json 修改为这个
import { UsersService } from '../users/users.service';
转到您的 .gitignore 文件并删除 /dist.
运行新的部署即可。
编码愉快! ?
以上是使用 Vercel 和 Supabase 部署 NestJS 应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!