Google 致力于为黑人社区推动种族平等。查看具体举措

कई साइटों पर परियोजना संसाधनों को साझा करें

आप एक फायरबेस प्रोजेक्ट में एक या अधिक फायरबेस होस्टिंग साइट सेट कर सकते हैं। चूंकि सभी साइटें एक ही फायरबेस प्रोजेक्ट में हैं, इसलिए सभी साइटें प्रोजेक्ट के अन्य फायरबेस संसाधनों तक पहुंच सकती हैं।

एक ही फ़ायरबेस प्रोजेक्ट के भीतर एकाधिक होस्टिंग साइट्स सेट करके, आप संबंधित साइट्स और ऐप्स के बीच फ़ायरबेस संसाधनों को अधिक आसानी से साझा कर सकते हैं। उदाहरण के लिए, यदि आप अपने ब्लॉग, व्यवस्थापक पैनल और सार्वजनिक ऐप को एक ही फायरबेस प्रोजेक्ट में अलग-अलग साइटों के रूप में सेट करते हैं, तो वे सभी एक ही फायरबेस प्रमाणीकरण उपयोगकर्ता डेटाबेस साझा कर सकते हैं, जबकि उनके पास अपने स्वयं के अद्वितीय डोमेन या सामग्री भी हो।

चरण 1: अपने Firebase CLI संस्करण अद्यतन

पहुँच सबसे वर्तमान में Firebase से सुविधाओं होस्टिंग Firebase CLI के नवीनतम संस्करण पर अपडेट

चरण 2: अतिरिक्त साइटों जोड़े

निम्न विधियों में से किसी एक का उपयोग करके किसी Firebase प्रोजेक्ट में अतिरिक्त साइटें जोड़ें:

  • में कार्यप्रवाह का उपयोग होस्टिंग पेज Firebase सांत्वना की

  • Firebase CLI आदेश का उपयोग करें: firebase hosting:sites:create SITE_ID

  • होस्टिंग REST API का उपयोग करें: projects.sites.create

इन तरीकों में से प्रत्येक के लिए, यदि आप एक निर्दिष्ट करेंगे SITE_ID जो साइट के लिए Firebase प्रावधान डिफ़ॉल्ट उप डोमेन के निर्माण के लिए प्रयोग किया जाता है:

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

क्योंकि SITE_ID इन URL के लिए प्रयोग किया जाता है, साइट आईडी निम्न आवश्यकताओं हैं:

  • एक मान्य होस्टनाम लेबल होना चाहिए, जिसका अर्थ यह नहीं हो सकते . , _ , आदि
  • 30 वर्ण या उससे कम का होना चाहिए
  • Firebase के भीतर विश्व स्तर पर अद्वितीय होना चाहिए

प्रत्येक साइट के लिए, आप भी वैकल्पिक कर सकते हैं कस्टम डोमेन जोड़ एकाधिक यूआरएल को एक ही सामग्री और विन्यास की सेवा के लिए।

एक द्वितीयक साइट हटाएं

निम्न विधियों में से किसी एक का उपयोग करके किसी Firebase प्रोजेक्ट से अवांछित साइटें हटाएं:

  • में कार्यप्रवाह का उपयोग होस्टिंग पेज Firebase सांत्वना की

  • Firebase CLI आदेश का उपयोग करें: firebase hosting:sites:delete SITE_ID

  • होस्टिंग REST API का उपयोग करें: projects.sites.delete

नोट यदि आप डिफ़ॉल्ट साइट है, जो एक ही है नष्ट नहीं कर सकते कि SITE_ID अपने Firebase परियोजना आईडी के रूप में।

चरण 3: अपने साइटों के लिए तैनाती लक्ष्य निर्धारित करें

जब आपके पास एक से अधिक साइटें हों और आप Firebase CLI परिनियोजन आदेश चलाते हों, तो 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 पर होस्टिंग सामग्री और डिफ़ॉल्ट होस्टिंग साइट के विन्यास emulates
firebase emulators:start --only hosting: TARGET_NAME स्थानीय रूप से होस्ट किए गए URL पर निर्दिष्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन का अनुकरण करता है
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
स्थानीय रूप से होस्ट किए गए URL पर निर्दिष्ट होस्टिंग साइट की होस्टिंग सामग्री और कॉन्फ़िगरेशन की सेवा करता है