適用於 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 RunABIU 文件

套件管理工具

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