部署 NextJs + ExpressJs + postgreSQL (pgadmin)

Deploying NextJs + ExpressJs + postgreSQL (pgadmin)

场景如下: 我已经准备好使用 NextJs 应用程序, 我已经准备好 ExpressJs 服务器, 我已经准备好 postgreSQL (pgAdmin)。

我可以还是应该?

部署 在 Vercel 旁边,从 GoDaddy(例如)获取一个域,然后 link 将其用于项目。 将 express 和数据库部署到 heroku。

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

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

所以,部署

  1. 使用 ExpressJs NextJs 和 postgreSQL 设置您的项目。 (ofc 使用 github repo 进行后续步骤)。您可以只 git clone express 示例的存储库,将其 git push 修改为您的 github 帐户。
  2. 您的 .env 文件夹中的所有环境 variables you declare!非常重要!,并且检查您的 .env 文件被 git 忽略(.gitignore 文件) .此检查非常重要,因为您永远不会在 git)
  3. 公开 .env 文件和连接字符串
  4. 本地项目运行后,您按照步骤 4
  5. 您设置垂直环境 - 链接 github repository,设置您需要的 Vercel 设置。 (比如可以直接租用域名搭建生产环境)
  6. 之后,您正在设置 env variables of vercel, with the same variable name and values (for example, your DB connection string, but NOT your base_url of course), you deploy your project with vercel
  7. 每次您 git 推送您的项目时,vercel 都会重新部署您的在线项目并更新所有页面。真的很棒

我给你的建议:

  • 你根据你的需要创建了一个非常简单的项目(你提到过)并且 尝试部署它。万一出错,可以google,不会的 太难了一旦一个简单的项目成功,你就开始开发它。
  • 主要使用 NextJS hooks and code (not react), read the documentation. For example, instead of using useEffect(react) you use useSWR(react lib created by vercel and nextjs teams) 钩子来获取数据,这样你的开发速度会更快、更“干净”)
  • 尽可能使用Typescript(但JS也很棒)
  • 慢慢来,尽量避免在 React 项目中使用纯 React 代码 (CTRL+C CTRL+V)。
  • “对抗”错误并从头检查控制台警告。
  • 喜欢有视频教程的可以查看this(不过是js不是ts)
  • 如果您的项目将来会使用多语言,set up all envirnoment and test it in the begginning. In this case also set up i18n lib 用于将来的翻译
  • 最难和最重要的部分已经设置,在开始“真正的”编码之前测试所有库。

我相信你会喜欢的!

P.S。对于 pgsql 和 express 你需要 construct your API routes,