适用于 App Hosting 的框架和工具

Firebase App Hosting 专为支持以框架为中心的现代 Web 应用开发而设计。您可以将本页作为参考,了解 App Hosting 直接支持的工具和框架,也可以从本页出发,了解相关框架和工具。

Web 框架和 App Hosting

App Hosting 为现代 Web 框架提供两个广泛的支持级别:预配置的构建和部署支持,以及通过符合输出软件包规范的开源贡献提供的社区级支持。在这两种情况下,框架适配器组件都能实现特定框架与 App Hosting 的集成。

具有预配置的 build 和部署支持的框架

借助预配置的构建和部署支持,Firebase 会通过检查 package-lock.json 文件或其他锁定文件来识别您使用的框架,并针对您的应用优化构建和部署流程。Google 致力于维护对这些框架的支持,Firebase 支持团队可以接受问题报告和功能请求。

此级别的支持适用于:

  • Next.js
  • Angular

如需详细了解具体版本和支持级别,请参阅支持时间表

如果您尝试部署缺少锁定文件的 Node.js 应用,App Hosting 将无法构建和运行您的应用。您可以在根目录中运行 npm install 来创建 package-lock.json

社区支持的框架

除了 Next.js 和 Angular,App Hosting 还支持任何能够提供符合我们输出软件包规范的 build 输出的网络框架。框架作者可以利用输出软件包规范来确保其框架受 App Hosting 支持。例如,热门的 Nuxt 框架由 Nitro 团队提供支持,该团队构建了一个 Firebase 适配器,以实现在 App Hosting 上部署 Nuxt 应用。

如果您希望 App Hosting 支持其他框架,可以创建框架适配器,也可以与框架的维护人员联系,将 build 输出转换为 App Hosting 格式。Next.js 和 Angular 适配器是创建适配器的任何人的良好参考示例。

如需了解社区支持的框架,请访问 Firebase 开源。 对于社区支持的框架,问题和功能请求应直接向开源社区或框架作者提出。在某些情况下,Google 可能会提供帮助,但对于这些适配器,社区是第一道支持防线。

App Hosting 框架适配器

App Hosting 中,通过框架适配器提供对预配置框架和社区支持框架的支持。App Hosting 框架适配器有两项关键作用:

  • 它们会解析您的源代码和任何框架特定的配置文件(例如 next.config.js),并生成可由 App Hosting 基础架构的其余部分处理的输出软件包。
  • 它们会运行应用的 build 命令来生成静态资源,并为正式版创建应用的优化版本。

框架适配器使用 npm run build 构建 Node.js 应用,与每个框架的默认 build 脚本搭配使用效果最佳:next build(适用于 Next.js)和 ng build(适用于 Angular)。App Hosting 将尝试使用自定义构建命令进行构建,但无法可靠地保证成功。您可以在 apphosting.yaml替换 build 和运行脚本

Next.js 和 Angular 适配器的源代码可在 firebase-framework-tools 中找到。

App Hosting的运行时

App Hosting 构建并推出后,您的 Node.js 应用会在 Cloud Run 修订版本中运行。因此,应用的运行时版本应同时在 Cloud Run 的支持范围内和所选 Web 框架的范围内。对于 Angular 和 Next.js 的预配置支持,这意味着支持以下 Node.js 版本:

  • Next.js 13.5.x 及更高版本
  • Angular 18.2.x 及更高版本
  • Node.js 18 及更高版本

App Hosting 不会自动为新发布的框架版本提供主动支持。在正式标记为 App Hosting 的“有效”版本之前,比当前指定的“有效”版本更新的版本将被视为“预览”状态。

App Hosting 支持主要版本的最新次要版本的长期支持 (LTS),从其有效支持期开始算起为期一年,前提是您始终更新到该次要版本中的最新补丁版本。如需了解 Next.js 和 Angular 的详细信息,请参阅下表。

Next.js 支持时间表

版本 状态 弃用
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x 有效 不早于 2025-10-9
15.1.x 有效 不早于 2025-10-9
15.2.x 有效 -

Angular 支持时间表

版本 状态 弃用
18.2.x lts 2026-10-9
19.0.x 有效 不早于 2025-10-9
19.1.x 有效 不早于 2025-10-9
19.2.x 有效 -

软件包管理器

App Hosting 使用 Cloud Native Buildpack 来执行依赖项安装,并使用 npm、yarn 或 pnpm 构建应用。不支持 JSR 等其他软件包管理器。

NPM

  • NPM 是默认的软件包管理系统。
  • 在构建成功后,系统会剪除非生产依赖项。
  • 您可以使用 package.json 文件中的 engines.npm 字段指定 npm 版本部分。

纱线

  • 如果您在项目中添加 yarn.lock 文件,则系统会改用 Yarn。
  • 您可以在 package.json 文件的 engines.yarnpackageManager 字段中指定要使用的 Yarn 版本。
  • App Hosting 支持 Yarn2 PnP 模式。

Pnpm

  • 如果您在项目中添加 pnpm-lock.yaml 文件,则系统会改用 Pnpm。
  • 您可以在 package.json 文件的 engines.pnpmpackageManager 字段中指定 pnpm 的版本。
  • 如需查看有效示例,请参阅 sample-node-pnpm。应用。

适用于 App Hosting 的 Monorepo

App Hosting 支持基于 Nx 的应用。如需详细指导,请参阅将 monorepo 与 App Hosting 搭配使用

支持以下 Nx 版本:

版本 状态 弃用
19.5.x 维护 2025-10-9
19.6.x 维护 2025-10-9
19.7.x 维护 2025-10-9
19.8.x lts 2026-10-9
20.0.x 有效 不早于 2025-10-9
20.1.x 有效 不早于 2025-10-9
20.2.x 有效 不早于 2025-10-9
20.3.x 有效 不早于 2025-10-9
20.4.x 有效 不早于 2025-10-9
20.5.x 有效 不早于 2025-10-9
20.6.x 有效 不早于 2025-10-9
20.7.x 有效

如果您需要针对其他类型的 monorepo 工作区提供支持,请前往 Firebase UserVoice 告知我们。