如何在Firebase托管上部署next.js应用程序?

时间:2019-05-24 00:27:00

标签: firebase-hosting next.js

我正在尝试在Firebase托管上部署next.js应用程序。但是我不知道将哪些文件推送到服务器。当我运行npm run build并将构建文件夹推送到firebase时。但出现错误,即找不到index.html文件。

这是构建文件夹输出的图像。我刚刚创建了一个简单的组件用于测试。

Output of build command

2 个答案:

答案 0 :(得分:2)

package.json上,您需要添加npm脚本来进行构建和导出。

  "scripts": {
    "dev": "next",
    "build": "next build",
    "start": "next start",
    "export": "next export"
  },

然后您可以运行

npm run build && npm run export

下一个版本将构建您的项目以进行运输和导出,将使您的文件准备就绪,可以在静态托管服务器(如firebase托管)上托管。

npm run export

将创建一个out/目录,并将所有文件放在该目录中以供上传。

注意:

  

如果您的应用需要在运行时生成动态页面,则不能   将其部署为静态应用。

Read more

答案 1 :(得分:0)

先签出this这是next.js在其github存储库中提供的官方示例。

示例背后的想法

目标是使用Firebase托管重写规则将Next.js应用程序托管在Firebase Cloud Functions上,以便从我们的Firebase托管URL提供我们的应用程序。每个单独的页面包都在对Cloud Function的新调用中提供,Cloud Function执行初始服务器渲染。

这是基于https://github.com/geovanisouza92/serverless-firebasehttps://github.com/jthegedus/firebase-functions-next-example的工作,如此处所述。

PS:我知道将链接发布为答案不是最好的方法,但是我的代表力量不足以将此作为评论。

相关问题