Firebase

将 Nitro 应用程序部署到 Firebase。

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