-1

在将我的网站部署到 Firebase 托管时,我遇到了使用 nextJS api 路由的问题。这是api调用:在此处输入图像描述

这是 pages 目录中的设置:在此处输入图像描述 这是 email.js 中使用的函数:在此处输入图像描述 我更改了变量以不泄露我的电子邮件地址。

当我使用本地主机时调用有效。但是,当我构建并部署到 Firebase 时。我曾尝试使用 firebase url 进行 api 调用,但找不到 404 页面。我不知道如何解决这个问题。我真的很感激任何帮助。

4

1 回答 1

0

Firebase 托管仅托管静态文件,这就是您的 api 路由在那里不起作用的原因。如果您有一个完全静态的 Next 站点,则可以将其托管在 Firebase 托管上。但是如果你想使用 Next 中的 api 路由,你需要一个服务器。执行此操作的一种方法(尽管很复杂)是使用您的 api 代码设置 Firebase 函数,然后将 Firebase 托管中的请求重写为该 Firebase 函数。这很复杂,因为它需要相当复杂的部署过程。

如果您网站的其余部分是静态的,您可以为此使用 Firebase 托管,然后考虑放弃 api 路由,而是设置一个 Firebase 函数来充当与 Next 完全分离的 api。

或者,如果您想将其全部保留在 Next 中,请考虑通过 Next 为您的站点使用 Vercel + api 之类的东西。

于 2022-02-04T22:19:28.777 回答