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 build
。App 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.yarn
或packageManager
字段中指定要使用的 Yarn 版本。 - App Hosting 支持 Yarn2 PnP 模式。
Pnpm
- 如果您在项目中添加
pnpm-lock.yaml
文件,则系统会改用 Pnpm。 - 您可以在
package.json
文件的engines.pnpm
或packageManager
字段中指定 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 与我们联系。