Preset: firebase
(switch to this preset)
Nitro 开箱即用地支持 Firebase 托管 和 Cloud Functions。
注意:您需要加入 Blaze 计划才能将 Nitro 与 Cloud Functions 结合使用。
如果您的根目录中还没有 firebase.json
,Nitro 会在您第一次运行时创建一个。 在此文件中,您需要将 <your_project_id>
替换为您的 Firebase 项目的 ID。
然后应将此文件提交给版本控制。 如果您不想手动将项目 ID 传递给 firebase
命令(使用 --project <your_project_id>
),您还可以创建一个 .firebaserc
文件:
.firebaserc
json
{
"projects": {
"default": "<your_project_id>"
}
}
然后,只需将 Firebase 依赖项添加到您的项目中:
bash
# yarn
yarn add --dev firebase-admin firebase-functions firebase-functions-test
# npm
npm install -D firebase-admin firebase-functions firebase-functions-test
Using Firebase CLI
相反,您可能更喜欢使用 Firebase CLI 设置项目,它会为您获取项目 ID、添加所需的依赖项(见上文),甚至通过 GitHub Actions 设置自动部署。
Install Firebase CLI globally
bash
# yarn
yarn global add firebase-tools
# npm
npm install -g firebase-tools
注意:您需要在 ^11.18.0 上部署 nodejs 18 功能。
Initialize your Firebase project
bash
firebase login
firebase init hosting
出现提示时,您可以输入 .output/public
作为公共目录。 在下一步中,不要将您的项目配置为单页应用程序。
完成后,将以下内容添加到您的 firebase.json
以在 Cloud Functions 中启用服务器渲染:
firebase.json
json
{
"functions": { "source": ".output/server" },
"hosting": [
{
"site": "<your_project_id>",
"public": ".output/public",
"cleanUrls": true,
"rewrites": [{ "source": "**", "function": "server" }]
}
]
}
您可以在 Firebase 文档 中找到更多详细信息。
Local preview
如果您需要在不部署的情况下进行测试,您可以预览站点的本地版本。
bash
NITRO_PRESET=firebase yarn build
firebase emulators:start
Deploy to Firebase Hosting via CLI
部署到 Firebase 托管是一件简单的事情,只需运行“firebase deploy”命令即可。
bash
NITRO_PRESET=firebase yarn build
firebase deploy