適用於 App Hosting 的架構和工具

Firebase App Hosting 專為支援以架構為中心的現代網頁應用程式開發作業而設計,您可以參考本頁面,瞭解 App Hosting 直接支援的工具和架構,以及相關架構和工具的入門資訊。

網路架構和 App Hosting

App Hosting 為現代網路架構提供兩種廣泛的支援層級:預先設定的建構和部署支援,以及透過符合輸出套件規格的開放原始碼貢獻內容提供的社群層級支援。在這兩種情況下,架構介面卡元件都能將特定架構與 App Hosting 整合。

預先設定建構和部署支援的架構

Firebase 支援預先設定的建構和部署作業,可檢查 package-lock.json 檔案或其他鎖定檔案,判斷您使用的框架,並為應用程式最佳化建構和部署程序。Google 致力於維護這些框架的支援服務,Firebase 支援團隊可接受問題回報和功能要求。

這項支援服務適用於:

  • Next.js
  • Angular

如要瞭解特定版本和支援等級的詳細資訊,請參閱支援時間表

如果您嘗試部署缺少鎖定檔案的 Node.js 應用程式,App Hosting 將無法建構及執行應用程式。如要建立 package-lock.json,請在根目錄中執行 npm install

社群支援的架構

除了 Next.js 和 Angular,App Hosting 也支援任何可提供符合輸出套件規格的建構輸出內容的網頁架構。架構作者可以運用輸出套件規格,確保 App Hosting 支援他們的架構。舉例來說,熱門的 Nuxt 架構是由 Nitro 團隊支援,該團隊建構了 Firebase 轉接程式,可在 App Hosting 上部署 Nuxt 應用程式。

如要讓 App Hosting 支援其他框架,您可以建立框架轉接程式,或與框架維護人員聯絡,將建構輸出內容轉換為 App Hosting 格式。如果您要建立轉接程式,Next.js 和 Angular 轉接程式是不錯的參考範例。

如要瞭解社群支援的架構,請參閱 Firebase 開放原始碼。如要回報社群支援架構的問題或提出功能要求,請向開放原始碼社群或架構作者提出。在某些情況下,Google 可能可以提供協助,但這些轉接頭的第一線支援服務是社群。

App Hosting 架構配接器

App Hosting 中,系統會透過架構介面卡,支援預先設定和社群支援的架構。App Hosting 架構 介面卡有兩個主要角色:

  • 這些工具會剖析原始碼和任何架構專屬設定檔 (例如 next.config.js),並產生可由其餘 App Hosting 基礎架構處理的輸出組合。
  • 這些指令會執行應用程式的建構指令,產生靜態資產,並建立應用程式的正式版,以供發布。

架構轉接程式會使用 npm run build 建構 Node.js 應用程式,並搭配各架構的預設建構指令碼 (Next.js 的 next build 和 Angular 的 ng build) 運作。App Hosting 會嘗試使用自訂建構指令建構,但無法保證一定能成功。您可以在 apphosting.yaml覆寫建構和執行指令碼

Next.js 和 Angular 轉接程式的來源位於 firebase-framework-tools

App Hosting」的執行階段

App Hosting建構及推出後,Node.js 應用程式會在 Cloud Run 修訂版本中執行。因此,應用程式的執行階段版本應同時在Cloud Run支援的範圍和所選網頁架構的範圍內。針對 Angular 和 Next.js 的預先設定支援,這表示支援下列 Node.js 版本:

  • Next.js 13.5.x 以上版本
  • Angular 18.2.x 以上版本
  • Node.js 20 以上版本

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 有效 -

自動更新基本映像檔 (ABIU)

自動底層映像檔更新 (ABIU) 功能會自動為底層執行階段環境套用安全性修補程式,您不必觸發新的應用程式發布作業。

App Hosting 預設會為新後端啟用 ABIU,但須符合下列特定要求:

  • 版本化執行階段:如要使用 ABIU,您必須指定版本化執行階段 (例如 nodejs20nodejs22nodejs24)。App Hosting 支援偶數 Node.js 版本,與 Cloud Run 的支援版本相同。
  • package.json 相符:App Hosting 選取的 Node 版本必須與 package.json 檔案 engines 欄位中指定的版本相容。如果兩者不符,您會遇到 Cloud Build 的建構時間錯誤。每次變更 engines 欄位時,請務必先更新後端的執行階段,再進行部署。

停用 ABIU

如要停用 ABIU,您可以在新手上路期間停用,或在 Firebase 控制台中為執行階段選取「未指定」。使用無版本的 nodejs 預設值時,ABIU 會自動停用。

管理執行階段版本

您隨時可以在 App Hosting 資訊主頁的「設定」分頁中,查看及變更後端的執行階段版本和 ABIU 偏好設定。不過請注意,如果新版本與您的程式碼不相容,變更執行階段版本可能會導致應用程式無法運作

執行階段版本最終會終止支援。請務必更新執行階段,以免發生重大變更:

  • 已淘汰的執行階段:如果所選執行階段遭到淘汰,應用程式通常仍可繼續運作,您會在控制台中收到警告,請盡快改用較新版本。詳情請參閱Cloud Run執行階段生命週期的說明文件。
  • 已停用的執行階段:已停用的執行階段完全不受支援。您無法使用已淘汰的版本建立新版本或後端,嘗試這麼做會導致建構錯誤。在停用版本上執行的現有部署作業可能會停止運作,Cloud Run 有權刪除這些作業。

如需支援、已淘汰和已停用的 Node 版本完整清單,請參閱Cloud Run執行階段支援文件。如要進一步瞭解基本映像檔更新的運作方式,請參閱 Cloud Run ABIU 說明文件

套件管理工具

App Hosting 會使用 Cloud Native Buildpacks 執行依附元件安裝作業,並使用 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 的單一存放區

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 告訴我們。