NextJS API 路由与 Firebase 云函数

时间:2021-03-22 02:11:40

标签: reactjs firebase google-cloud-functions next.js

NextJS 有一个解决方案来构建您自己的 API 并让它处理诸如身份验证和发出数据库请求之类的事情。

如果我使用 Vercel 来托管我的应用程序,是否有真正的理由(除了成本)使用与 NextJS 分开的 Firebase Cloud Functions,或者它们的工作原理是否相同?

将所有服务器端的东西放在 NextJS 和 Vercel 上会比把它放在 Firebase Cloud Functions 上更容易吗?

1 个答案:

答案 0 :(得分:2)

在选择 Firebase Cloud Functions 和 Next.js API 路由时需要考虑一些事项。

使用 Cloud Functions 的原因

触发数据库更改

如果添加了文档,您可以使用 Firebase 云函数对数据进行处理。 Next.JS 不会自动触发。

与 Google Cloud 集成

如果您想与 Google Cloud 紧密集成,您可能希望坚持使用 Firebase。除了错误日志记录之外,我想不出任何具体原因为什么这会成为决定性因素,但它可能是您的用例的一个因素。

您需要的不仅仅是 REST API

有多种类型的 Firebase 函数。可调用、HTTPs、触发等。如果你只需要 HTTPs 函数,你可能只使用 Next.js 函数。但是 Next.js 不可能有更多的事情发生。

独立部署功能

使用 Next.js,要更新功能,您需要再次重新部署整个站点。使用 Firebase 函数,您可以一次部署一个函数。

使用 Next.js API 函数的原因

如果在 Vercel 上,它们基本上是免费的

由于整个 Next.js 应用程序被分解为无服务器功能,因此 Vercel 基本上没有放置 [its normal limits on Next.js API function calls][1]。由于 Firebase 功能如此便宜,我还没有真正考虑过价格的项目,但也许您需要考虑一下。

更简单的开发

使用 Firebase 函数,您还需要在开发过程中设置和使用模拟器。 Next.js API 函数是 Next.js 的一部分,并在开发中自动工作。


我的选择?如果项目只能使用 Next.js API 路由,我会坚持下去。如果没有,我会在 Firebase Cloud Functions 中编写所有代码。这样只会让事情变得更简单。