Catch up on everthing we announced at this year's Firebase Summit. Learn more

שתף משאבי פרויקט במספר אתרים

באפשרותך להקים אתר אחד או יותר של Firebase Hosting בפרויקט Firebase יחיד. מכיוון שהאתרים כולם נמצאים באותו פרויקט Firebase, כל האתרים יכולים לגשת למשאבי Firebase האחרים של הפרויקט.

על ידי הקמת אתרי אירוח מרובים בתוך אותו פרויקט Firebase, תוכל לשתף ביתר קלות משאבי Firebase בין אתרים ואפליקציות קשורים. לדוגמה, אם אתה מגדיר את הבלוג, לוח הניהול והאפליקציה הציבורית שלך כאתרים בודדים באותו פרויקט Firebase, כולם יכולים לשתף את אותו מאגר משתמשים של אימות Firebase, תוך שהם מחזיקים גם בדומיינים או בתוכן ייחודי משלהם.

שלב 1: עדכן לגרסת Firebase CLI שלך

גש Firebase העדכנית ביותר אירוח תכונות ידי עדכון לגירסה האחרונה של Firebase CLI .

שלב 2: להוסיף אתרים נוספים

הוסף אתרים נוספים לפרויקט Firebase באמצעות אחת מהשיטות הבאות:

  • השתמש העבודה בתוך דף האירוח של קונסולת Firebase

  • השתמש בפקודה Firebase CLI: firebase hosting:sites:create SITE_ID

  • השתמש API REST אירוח: projects.sites.create

לכל אחת מהשיטות הללו, תציין SITE_ID אשר משמש לבניית תחומי משנה מחדל מופרש Firebase עבור האתר:

  • SITE_ID .web.app
  • SITE_ID .firebaseapp.com

מכיוון SITE_ID משמש כתובות אלה, מזהים האתר יש את הדרישות הבאות:

  • צריך להיות תגית מארח חוקית, כלומר זה לא יכול להכיל . , _ , וכו '
  • חייב להיות 30 תווים או פחות
  • חייב להיות ייחודי ברחבי העולם בתוך Firebase

לכל אתר, תרצה, תוכל גם להוסיף תחומים מנהג לשרת אותו תוכן ותצורה לכתובות מרובות.

מחק אתר משני

מחק אתרים לא רצויים מפרויקט Firebase באמצעות אחת מהשיטות הבאות:

  • השתמש העבודה בתוך דף האירוח של קונסולת Firebase

  • השתמש בפקודת Firebase CLI: firebase hosting:sites:delete SITE_ID

  • השתמש API REST אירוח: projects.sites.delete

שים לב, אתה לא יכול למחוק את האתר המחדל, אשר יש לו את אותו SITE_ID כמו זיהה פרויקט Firebase שלך.

שלב 3: הגדרת מטרות לפרוס עבור האתרים שלך

כאשר יש לך מספר אתרים ואתה מפעיל פקודות פריסת CLI של Firebase, ה- CLI צריך דרך לתקשר אילו הגדרות יש לפרוס לכל אתר. עם מטרות לפרוס לך באופן ייחודי ניתן לזהות אתר ספציפי עם TARGET_NAME ב שלך firebase.json קובץ התצורה ובשינה שלך פקוד Firebase CLI לבדיקה או פריסה לאתרים שלך.

כדי ליצור מטרה לפרוס וליישם TARGET_NAME לאתר אירוח, הפעל את הפקודה הבאה CLI מהשורש של ספרייה הפרוייקט:

firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER

היכן נמצאים הפרמטרים:

  • TARGET_NAME - שם ייחודי (שהגדרת בעצמך) עבור אתר אירוח שאתה מבצע פריסה

  • RESOURCE_IDENTIFIER - את SITE_ID עבור אתר אירוח כמפורט פרויקט Firebase שלך

לדוגמה, אם יצרת שני אתרים ( myapp-blog ו myapp-app ) בפרויקט Firebase שלך, אתה יכול להחיל ייחודי TARGET_NAME ( blog ואת app , בהתאמה) לכל אתר על ידי הרצת הפקודות הבאות:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

הגדרות עבור מטרות לפרוס מאוחסנים .firebaserc קובץ בספרייה הפרויקט שלך, כך שאתה צריך רק להגדיר יעדי לפרוס פעם אחת בלבד לכל פרויקט.

שלב 4: הגדר את התצורה אירוח עבור כל אתר

השתמש יישומית של אתר TARGET_NAME כשאתה מגדיר תצורת האירוח שלה שלך firebase.json קובץ.

  • אם שלך firebase.json הקובץ מגדיר את התצורה של אתרים מרובים, השתמש בתבנית מערך:

    {
      "hosting": [ {
          "target": "blog",  // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog"
          "public": "blog/dist",  // contents of this folder are deployed to the site "myapp-blog"
    
          // ...
        },
        {
          "target": "app",  // "app" is the applied TARGET_NAME for the Hosting site "myapp-app"
          "public": "app/dist",  // contents of this folder are deployed to the site "myapp-app"
    
          // ...
    
          "rewrites": [...]  // You can define specific Hosting configurations for each site
        }
      ]
    }
    
  • אם שלך firebase.json הקובץ מגדיר את התצורה רק אתר אחד, זה לא הכרחי להשתמש בפורמט מערך:

    {
      "hosting": {
          "target": "blog",
          "public": "dist",
    
          // ...
    
          "rewrites": [...]
      }
    }
    

שלב 5: מבחן מקומי, תצוגה מקדימה של השינויים, ולפרוס לאתרים שלך

הפעל כל אחת מהפקודות הבאות משורש ספריית הפרויקטים המקומית שלך.

פקודה תיאור
firebase emulators:start --only hosting מחק את התוכן ותצורת אירוח של האתר המארח המחדל בכתוב URL ארחה מקומית
firebase emulators:start --only hosting: TARGET_NAME מחקה את תוכן האירוח והתצורה של אתר האחסון שצוין בכתובת אתר המתארחת באופן מקומי
firebase hosting:channel:deploy \
CHANNEL_ID
פורס את התוכן ותצורת אירוח של האתר המארח המחדל בכתוב URL המקדימה
firebase hosting:channel:deploy \
CHANNEL_ID --only TARGET_NAME
פורס את תוכן האירוח והתצורה של אתר האחסון שצוין בכתובת URL של תצוגה מקדימה
firebase deploy --only hosting פורס את התוכן ותצורת אירוח לערוץ החי של כול אתרי האירוח המוגדר firebase.json
firebase deploy --only hosting: TARGET_NAME פורס את תוכן אירוח ותצורת הערוץ לערוץ החי של אתר האחסון שצוין
פקודה תיאור
(לא מומלץ; שימוש emulators:start במקום)
firebase serve --only hosting
מכהן התוכן ותצורת האירוח של האתר המארח המחדל בכתוב URL ארחה מקומית
(לא מומלץ; שימוש emulators:start במקום)
firebase serve --only hosting: TARGET_NAME
משרת את תוכן האחסון והתצורה של אתר האחסון שצוין בכתובת אתר המתארחת באופן מקומי