使用單一存放區時,您可以在單一目錄中整理及管理多個專案。本指南說明如何開始使用 App Hosting 部署以 Nx 為基礎的應用程式。
使用 Firebase CLI 部署單一存放區
Firebase CLI 指令 apphosting:backends:create
會在後端設定流程中提供 Monorepo 支援功能。進入這個流程並指定所選 GitHub 存放區後,系統會提示您指定相對於存放區的應用程式根目錄;在這個提示中,請將路徑傳遞至要在單一存放區中部署的應用程式:
$ firebase apphosting:backends:create --project [project-name] --location us-central1
i === Import a GitHub repository
✔ Connected with GitHub successfully
? Which GitHub repo do you want to deploy? gh-username/nx-monorepo
? Specify your app's root directory relative to your repository path/to/app
舉例來說,以下是根據下列 Nx 專案結構,以及「target-app」(目標應用程式) 為您要建構及部署的應用程式,將會部署的資產:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
相對於存放區的應用程式根目錄為 apps/target-app
。
使用 Firebase 控制台部署單一版本庫
Firebase 控制台的圖形後端設定流程中已內建 Monorepo 支援功能。當「部署設定」下方出現「根目錄」提示時,請指定要部署至單一版本庫中的應用程式路徑:
排解單一版本庫部署問題
- 如果您在後端設定期間將「根目錄」欄位留空,App Hosting 仍可在相關 nx.json 設定檔的
defaultProject
中指定使用者的目標專案,進而建構及部署該專案。 - 如果您未指定「root directory」欄位或
defaultProject
,則建構作業會失敗,並顯示 App Hosting 無法在 Nx monorepo 中找到目標專案的訊息。 - 對於 Nx + Angular 應用程式,您必須使用 Angular 應用程式建構工具來建構應用程式。在
project.json
中指定 Angular 應用程式建構工具