适用于 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 输出的任何 Web 框架。框架作者可以利用输出软件包规范来确保 App Hosting 支持其框架。例如,Nitro 团队支持热门的 Nuxt 框架,他们构建了 Firebase 适配器,以便在 App Hosting 上部署 Nuxt 应用。

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

如需了解社区支持的框架,请参阅 Firebase Open Source。如需针对社区支持的框架提出问题和功能请求,请与开源社区或框架作者联系。在某些情况下,Google 或许可以提供帮助,但社区是这些适配器的第一线支持人员。

App Hosting 框架适配器

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

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

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

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 的应用。如需获取详细指南,请参阅将单元代码库与 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 有效

如果您需要针对其他类型的单仓库工作区获得支持,请通过 Firebase UserVoice 与我们联系。