שימוש במונורפוס עם אירוח אפליקציות
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בעזרת מאגרי קוד יחידים, אפשר לארגן ולנהל כמה פרויקטים בספרייה אחת. במדריך הזה מוסבר איך מתחילים לפרוס אפליקציות מבוססות Nx באמצעות App Hosting.
פריסת מאגרי קוד מונו עם מסוף Firebase
התמיכה ב-monorepo מוטמעת בתהליך ההגדרה הגרפי של העורף במסוף Firebase. כשמוצגת בקשה להזין "תיקיית שורש" בקטע "הגדרות פריסה":
מציינים את הנתיב לאפליקציה שרוצים לפרוס בתוך המאגר המשותף:

פריסת מאגרי קוד מונו עם Firebase CLI
התמיכה ב-Monorepo מוטמעת בתהליך ההגדרה של ה-Backend שמופעל על ידי פקודת Firebase CLI apphosting:backends:create
. אחרי שמתחילים את התהליך ומציינים את המאגר הרצוי ב-GitHub, מוצגת בקשה לציין את תיקיית השורש של האפליקציה ביחס למאגר. בשלב הזה, מעבירים את הנתיב לאפליקציה שרוצים לפרוס בתוך המאגר המשותף:
$ firebase apphosting:backends:create --project [project-name]
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
.
פתרון בעיות בפריסת monorepo
- אם לא מציינים את השדה 'ספריית הבסיס', הבנייה תיכשל ותוצג הודעה שלפיה App Hosting לא יכול למצוא פרויקט לטירגוט בתוך מאגר Nx.
- באפליקציות Nx + Angular, צריך להשתמש בכלי ליצירת אפליקציות Angular כדי ליצור את האפליקציה. הכלי ליצירת אפליקציות Angular מוגדר ב-
project.json
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-20 (שעון UTC).
[null,null,["עדכון אחרון: 2025-08-20 (שעון UTC)."],[],[],null,["\u003cbr /\u003e\n\nWith monorepos, you can organize and manage multiple projects in a single\ndirectory. This guide describes how to get started deploying Nx-based apps with\nApp Hosting.\n\nDeploy monorepos with the Firebase console\n\nMonorepo support is built into the graphical backend setup flow in the Firebase\nconsole. When prompted for a \"Root directory\" under \"Deployment settings,\"\nspecify the path to the application you want to deploy inside the monorepo:\n\nDeploy monorepos with the Firebase CLI\n\nMonorepo support is built into the backend setup flow invoked by the Firebase\nCLI command `apphosting:backends:create`. After you enter this flow and specify\nyour chosen GitHub repository, you are prompted to specify your app's root\ndirectory relative to your repository; at this prompt, pass the path to the\napplication you want to deploy inside the monorepo: \n\n $ firebase apphosting:backends:create --project [project-name]\n i === Import a GitHub repository\n ✔ Connected with GitHub successfully\n\n ? Which GitHub repo do you want to deploy? gh-username/nx-monorepo\n ? Specify your app's root directory relative to your repository path/to/app\n\nFor example, here are the assets that would be deployed given the following Nx\nproject structure and \"target-app\" as the application you want to build and\ndeploy: \n\n .\n ├── lib\n ├── apps\n │ └── target-app\n │ ├── project.json\n │ └── src\n │ └── ...\n ├── nx.json\n ├── package-lock.json\n └── package.json\n\nThe app's root directory relative to your repository is `apps/target-app`.\n\nTroubleshooting monorepo deployment\n\n- If you do not specify the \"root directory\" field, then the build will fail and display a message that App Hosting cannot find a project to target inside the Nx monorepo.\n- For Nx + Angular applications, you must use the [Angular application\n builder](https://angular.io/guide/esbuild) to build the application. The Angular application builder is specified in `project.json`"]]