【问题标题】:Deploying static Next.js app to Firebase Hosting将静态 Next.js 应用部署到 Firebase 托管
【发布时间】:2021-03-24 02:02:12
【问题描述】:

我已经通过运行 next build && next export 将 Next.js 应用程序部署到 Firebase 托管,然后部署 out 文件夹中的内容...但是,当我转到我的网络应用程序时,它只加载索引页面。即使我转到一个不存在的 URL,例如:https://mywebsite.web.app/url-that-does-not-exist,它也会显示我在 index.js 中的内容,而不是 404 页面。在我的本地机器上,一切正常。

我还需要做什么才能显示 404 页面吗?

编辑:另外,当我使用 firebase serve 提供 out 文件夹时,它似乎不起作用!

【问题讨论】:

    标签: reactjs firebase next.js firebase-hosting


    【解决方案1】:

    听起来您还没有设置Firebase Hosting and Cloud FunctionsCloud Run 之间的集成。否则,Firebase 托管仅提供静态文件 - 因此您的 JavaScript 永远不会在服务器上解释。

    【讨论】:

    • 但我的理解是,如果我提供next export 的结果(生成静态文件),那么我不需要云功能......事实上,我并不想做任何花哨的事情东西,只是提供一个静态网站。
    • 静态网站确实应该可以通过 Firebase 托管服务。因此,如果这不起作用,则说明您生成站点的方式或部署站点的方式出现了问题。但是,根据您迄今为止提供的信息,无法说出那是什么。检查out 文件夹,以确保它有您的静态文件检查firebase.json 配置它真正部署并提供该文件,如果这些都不能解决问题:包括任何人如何在您的问题中重现问题的确切步骤:how to create a minimal, complete, verifiable example
    • 感谢您的回复,错误是在firebase.json 文件中,我使用的是SPA 的配置,将所有内容重定向到某个index.html 文件。
    • 很高兴听到你想通了! ?
    【解决方案2】:

    问题是在firebase init 之后生成的firebase.json 文件中,我使用的是SPA 的配置。这意味着我将所有内容都重定向到index.html,因此显然每个 URL 都映射到了这个文件。

    【讨论】:

    • 嘿darmendarizp,你能在firebase.json分享你的配置吗
    猜你喜欢
    • 2021-03-03
    • 2019-10-10
    • 2021-01-06
    • 2019-10-01
    • 2021-05-09
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    相关资源
    最近更新 更多