node.js - 部署 NextJs + ExpressJs + postgreSQL (pgadmin)
问题描述
这是场景:我准备好了 NextJs 应用程序,准备好了 ExpressJs 服务器,准备好了 postgreSQL (pgAdmin)。
我可以或应该吗?
将 Next 部署到 Vercel,从 GoDaddy 获取一个域(例如)并将其链接到项目。将 express 和数据库都部署到 heroku。
我不知道我是否可以在 Vercel 上完成所有这些工作。
解决方案
是的,您可以使用 Vercel 做您需要的事情。检查此代码示例(express,mysql),根据您的需要进行调整。
所以,部署
- 使用 ExpressJs NextJs 和 postgreSQL 设置您的项目。(ofc 使用 github repo 进行后续步骤)。您可以只
git clone
存储 express 示例,将其修改为 gitpush
到您的 github 帐户。 - 您在文件夹中声明的所有环境变量
.env
!非常重要!,并且检查您的.env
文件被 git(.gitignore
文件)忽略。此检查非常重要,因为您永远不会在 git 上公开 .env 文件和连接字符串) - 本地项目运行后,您将执行第 4 步
- 您设置您的垂直环境 - 链接github 存储库,设置您需要的 vercel 设置。(比如可以直接租一个域名,设置生产环境)
- 之后,您正在设置vercel 的env 变量,具有相同的变量名称和值(例如,您的数据库连接字符串,但当然不是您的 base_url),您使用 vercel 部署您的项目。
- 每次 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 路由,
推荐阅读
- mysql - React.js 和 MySQL 导致 node/no-deprecated-api 错误
- drupal - 如何在 drupal 8 中创建从一个页面 url 到另一个页面的重定向
- flutter - 我对带有 exitpage 的 awesome_page_transition 包有疑问
- oracle - 为什么 DataStage 中的存储过程阶段无法正常工作?
- javascript - Google Apps 脚本中的时区不正确
- r - 在 R 中,使用非 NA 值的最长连续延伸的子集数据
- javascript - JavaScript复选框总是未选中?
- python - 如何在python中使用pandas将行数据转换为列数据格式
- python - TypeError:实现套接字程序时,'int'类型的参数不可迭代
- java - Java 创建的 Azure 函数说“您的应用程序当前处于只读模式,因为您正在从包文件运行”,如何解决?