我正在尝试在Firebase托管上部署next.js应用程序。但是我不知道将哪些文件推送到服务器。当我运行npm run build
并将构建文件夹推送到firebase时。但出现错误,即找不到index.html文件。
这是构建文件夹输出的图像。我刚刚创建了一个简单的组件用于测试。
答案 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/
目录,并将所有文件放在该目录中以供上传。
注意:
如果您的应用需要在运行时生成动态页面,则不能 将其部署为静态应用。
答案 1 :(得分:0)
先签出this。 这是next.js在其github存储库中提供的官方示例。
示例背后的想法
目标是使用Firebase托管重写规则将Next.js应用程序托管在Firebase Cloud Functions上,以便从我们的Firebase托管URL提供我们的应用程序。每个单独的页面包都在对Cloud Function的新调用中提供,Cloud Function执行初始服务器渲染。
这是基于https://github.com/geovanisouza92/serverless-firebase和https://github.com/jthegedus/firebase-functions-next-example的工作,如此处所述。
PS:我知道将链接发布为答案不是最好的方法,但是我的代表力量不足以将此作为评论。