Firebase App Hosting מיועד במיוחד לתמיכה בפיתוח מודרני של אפליקציות אינטרנט שמבוסס על מסגרות. בדף הזה מפורטים הכלים ומסגרות העבודה ש-App Hosting תומך בהם ישירות, וגם קישורים למסגרות עבודה ולכלים קשורים.
מסגרות אינטרנט ו-App Hosting
App Hosting מספקת שתי רמות תמיכה רחבות למסגרות אינטרנט מודרניות: תמיכה בהגדרה מראש של בנייה ופריסה, ותמיכה ברמת הקהילה באמצעות תרומות קוד פתוח בהתאם למפרט של חבילת הפלט. בשני המקרים, רכיב framework adapter מאפשר שילוב של framework ספציפי עם App Hosting.
Frameworks עם תמיכה מוגדרת מראש בבנייה ובפריסה
עם תמיכה מוגדרת מראש בבנייה ובפריסה, Firebase מזהה את המסגרת שבה אתם משתמשים על ידי בדיקת הקובץ package-lock.json
או קובץ נעילה אחר, ומבצע אופטימיזציה של תהליכי הבנייה והפריסה של האפליקציה. Google מחויבת לשמור על תמיכה במסגרות האלה, וצוות התמיכה של Firebase יכול לקבל דיווחים על בעיות ובקשות לתכונות.
רמת התמיכה הזו ניתנת עבור:
- Next.js
- Angular
פרטים על גרסאות ספציפיות ורמות תמיכה זמינים בלוחות הזמנים של התמיכה.
אם מנסים לפרוס אפליקציית Node.js שחסר בה קובץ נעילה, App Hosting
ה-build של האפליקציה ייכשל והיא לא תפעל. אפשר ליצור את package-lock.json
על ידי הרצת הפקודה npm install
בספריית הבסיס.
מסגרות נתמכות על ידי הקהילה
בנוסף ל-Next.js ול-Angular, App Hosting תומך גם בכל מסגרת אינטרנט שיכולה לספק פלט build שתואם למפרט חבילת הפלט שלנו. מחברי מסגרות יכולים להשתמש במפרט של חבילת הפלט כדי לוודא שהמסגרת שלהם נתמכת על ידי App Hosting. לדוגמה, צוות Nitro תומך ב-Nuxt, שהיא מסגרת פופולרית. הצוות יצר מתאם Firebase כדי לאפשר פריסה של אפליקציות Nuxt ב-App Hosting.
אם אתם רוצים לראות עוד frameworks שנתמכים על ידי App Hosting, אתם יכולים ליצור מתאם framework או לפנות למנהלי ה-framework כדי להמיר את פלט הבנייה לפורמט App Hosting. המתאמים של Next.js ו-Angular הם דוגמאות טובות לכל מי שיוצר מתאם.
מידע על מסגרות נתמכות על ידי הקהילה זמין בקוד פתוח של Firebase. בעיות ובקשות לתכונות במסגרות נתמכות על ידי הקהילה צריך להפנות לקהילת הקוד הפתוח או ליוצרי המסגרת. במקרים מסוימים, Google יכולה לעזור, אבל הקהילה היא קו התמיכה הראשון למתאמים האלה.
App Hosting מתאמי מסגרות
ב-App Hosting, התמיכה במסגרות שהוגדרו מראש ובמסגרות שנתמכות על ידי הקהילה ניתנת באמצעות מתאמי מסגרות. App Hosting למתאמי framework יש שני תפקידים מרכזיים:
- הם מנתחים את קוד המקור ואת קובצי ההגדרות הספציפיים למסגרת (כמו
next.config.js
) ומפיקים חבילת פלט שאפשר לעבד באמצעות שאר התשתית של App Hosting. - הם מריצים את פקודת ה-build של האפליקציה כדי ליצור נכסים סטטיים וליצור גרסה אופטימלית של האפליקציה לייצור.
מתאמי Framework בונים את אפליקציית Node.js באמצעות npm run build
, והם פועלים בצורה הכי טובה עם סקריפטים לבנייה שמוגדרים כברירת מחדל לכל Framework: next build
ל-Next.js ו-ng build
ל-Angular. App Hosting ינסה לבצע בנייה באמצעות פקודות בנייה מותאמות אישית, אבל לא יכול להבטיח הצלחה באופן מהימן. אתם יכולים להגדיר סקריפטים משלכם ל-build ולהרצה ב-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 | פעיל | not before 2025-10-9 |
15.1.x | פעיל | not before 2025-10-9 |
15.2.x | פעיל | - |
לוח הזמנים לתמיכה ב-Angular
גרסה | סטטוס | הוצאה משימוש |
---|---|---|
18.2.x | lts | 2026-10-9 |
19.0.x | פעיל | not before 2025-10-9 |
19.1.x | פעיל | not before 2025-10-9 |
19.2.x | פעיל | - |
מנהלי חבילות
App Hosting משתמש ב-Cloud Native Buildpacks כדי להריץ את ההתקנה של יחסי התלות ובונה את האפליקציה באמצעות npm, yarn או pnpm. אין תמיכה במנהלי חבילות אחרים, כמו JSR.
NPM
- NPM הוא מנהל החבילות שמוגדר כברירת מחדל.
- אחרי שה-build מסתיים בהצלחה, מתבצעת הסרה של חבילות שמוגדרות ביחסי התלות של סביבת הפיתוח.
- תוכלו לציין את הקטע של גרסת ה-NPM באמצעות השדה
engines.npm
בקובץpackage.json
.
כדור צמר
- אם כוללים את הקובץ
yarn.lock
בפרויקט, משתמשים ב-Yarn במקום זאת. - תוכלו לציין את גרסת ה-Yarn שבה צריך להשתמש בשדה
engines.yarn
אוpackageManager
בקובץpackage.json
. - App Hosting תומך במצב Yarn2 PnP.
Pnpm
- אם כוללים את הקובץ
pnpm-lock.yaml
בפרויקט, משתמשים ב-Pnpm במקום זאת. - תוכלו לציין את גרסת ה-Pnpm שבה צריך להשתמש בשדה
engines.pnpm
אוpackageManager
בקובץpackage.json
. - תוכלו לראות דוגמה שעובדת באפליקציה sample-node-pnpm. אפליקציה.
מאגרי קוד יחידים (Monorepos) ל-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 | פעיל | not before 2025-10-9 |
20.1.x | פעיל | not before 2025-10-9 |
20.2.x | פעיל | not before 2025-10-9 |
20.3.x | פעיל | not before 2025-10-9 |
20.4.x | פעיל | not before 2025-10-9 |
20.5.x | פעיל | not before 2025-10-9 |
20.6.x | פעיל | not before 2025-10-9 |
20.7.x | פעיל | — |
אם אתם צריכים תמיכה בסוגים אחרים של סביבות עבודה של monorepo, אתם יכולים להודיע לנו על כך ב-Firebase UserVoice.