Firebase App Hosting 專門用於支援以架構為主的現代網頁應用程式開發作業。您可以參考本頁面,瞭解 App Hosting 直接支援的工具和架構,以及相關架構和工具的入門資訊。
網路架構和 App Hosting
App Hosting 為新式網頁架構提供兩種廣泛層級支援:預先設定的建構和部署支援,以及符合輸出套件規格的開放原始碼貢獻所提供的社群層級支援。在兩種情況下,架構轉接器元件可讓特定架構與 App Hosting 整合。
支援預先設定建構和部署作業的架構
有了預先設定的建構和部署支援功能,Firebase 就能透過檢查 package-lock.json
檔案或其他鎖定檔案,找出您使用的架構,並為應用程式最佳化建構和部署程序。Google 致力於維護這些架構的支援服務,Firebase 支援團隊也能接受問題回報和功能要求。
這個支援等級適用於:
- Next.js
- Angular
請參閱支援時間表,進一步瞭解特定版本和支援層級的詳細資訊。
如果您嘗試部署缺少鎖定檔案的 Node.js 應用程式,App Hosting 將無法建構及執行應用程式。您可以透過在根目錄中執行 npm install
來建立 package-lock.json
。
社群支援的架構
除了 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 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 Buildpacks 執行依附元件的安裝作業,並使用 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 的單一存放區
App Hosting 支援以 Nx 為基礎的應用程式。詳情請參閱「使用 monorepos 與 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 告訴我們。