首页 > 解决方案 > 部署 NextJs + ExpressJs + postgreSQL (pgadmin)

问题描述

这是场景:我准备好了 NextJs 应用程序,准备好了 ExpressJs 服务器,准备好了 postgreSQL (pgAdmin)。

我可以或应该吗?

将 Next 部署到 Vercel,从 GoDaddy 获取一个域(例如)并将其链接到项目。将 express 和数据库都部署到 heroku。

我不知道我是否可以在 Vercel 上完成所有这些工作。

标签: node.jspostgresqlnext.jsvercel

解决方案


是的,您可以使用 Vercel 做您需要的事情。检查此代码示例(expressmysql),根据您的需要进行调整。

所以,部署

  1. 使用 ExpressJs NextJs 和 postgreSQL 设置您的项目。(ofc 使用 github repo 进行后续步骤)。您可以只git clone存储 express 示例,将其修改为 gitpush到您的 github 帐户。
  2. 您在文件夹中声明的所有环境变量.env!非常重要!,并且检查您的.env文件被 git(.gitignore文件)忽略。此检查非常重要,因为您永远不会在 git 上公开 .env 文件和连接字符串)
  3. 本地项目运行后,您将执行第 4 步
  4. 您设置您的垂直环境 - 链接github 存储库,设置您需要的 vercel 设置。(比如可以直接租一个域名,设置生产环境)
  5. 之后,您正在设置vercel 的env 变量,具有相同的变量名称和值(例如,您的数据库连接字符串,但当然不是您的 base_url),您使用 vercel 部署您的项目
  6. 每次 git push 项目时,vercel 都会重新部署你的在线项目并更新所有页面。这真的很棒。

我给你的建议:

  • 您根据您的需求创建了非常简单的项目(您提到过)并尝试部署它。万一出错,你可以google一下,不会那么难的。一旦一个简单的项目工作,你就开始开发它。
  • 主要使用 NextJS钩子和代码 (不反应),阅读文档。例如,不是使用useEffect(react) ,而是使用 (由 vercel 和 nextjs 团队创建的useSWR反应库) 钩子来获取数据,因此您将开发得更快和“干净”)
  • 如果可能,尝试使用Typescript(但 JS 也很棒)
  • 花点时间,尽量避免来自反应项目的纯反应代码(CTRL+C CTRL+V)。
  • “战斗”错误并从一开始就检查控制台警告。
  • 如果你喜欢有一些视频教程,你可以检查这个(但它是 js 而不是 ts。)
  • 如果您的项目将来会使用多语言,请设置所有环境并在开始时对其进行测试。在这种情况下,还要设置i18n lib以供将来翻译
  • 最难和最重要的部分是设置,在你开始“真正的”编码之前测试你所有的库。

我相信你会喜欢的!

PS for the pgsql and express 你需要构建你的 API 路由


推荐阅读