了解部署到 Vercel 非常简单,但是,在部署过程中需要考虑一些设置。
考虑到您的 NestJS 应用程序已准备好部署,让我们从 Supabase 设置开始。
Supabase 是一个开源 Firebase 替代方案,完全支持和无缝配置 PostgreSQL 数据库,并且它还提供其他功能,如身份验证、存储等。
在 Supabase 上设置一个新帐户并在该帐户中创建一个新项目。
设置完成后,单击主页页面上的连接按钮。这将向您展示将数据库连接到项目的不同选项
使用提供的凭据测试本地连接,以确保一切正常运行。
注意:确保凭据不会暴露并存储在您的 .env 文件中(我相信您已经知道这一点?)
接下来,让我们设置 Vercel 帐户并部署项目
通常,Vercel 主要用于前端应用程序部署,但是,它也可用于部署后端项目。
PS: 如果您正在为后端部署开发中型到大型项目,请改用合适的服务提供商。
在您的 Vercel 帐户上,创建一个新项目并连接到您的 Git 存储库。导入您的 .env 文件并单击 Deploy 按钮。
瞧,就是这样???。
...
这是一个常见错误,因为 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"] } ] }
再次运行部署即可
...
就我而言,这是因为找不到模块错误
...
有几种方法可以解决这个问题:
从
import { UsersService } from 'src/users/users.service';
到
import { UsersService } from '../users/users.service';
...
我最终采用了这种方法,因为我不需要将我的应用程序限制为仅使用相对路径导入。
所以,将vercel.json修改为这个
{ "version": 2, "builds": [ { "src": "dist/main.js", "use": "@vercel/node" } ], "routes": [ { "src": "/(.*)", "dest": "dist/main.js", "methods": ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"] } ] }
转到您的 .gitignore 文件并删除 /dist.
运行新部署即可。
编码愉快! ?
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3