फायरबेस होस्टिंग एमुलेटर के साथ वेब ऐप्स का प्रोटोटाइप और परीक्षण करें

इससे पहले कि आप फायरबेस होस्टिंग एमुलेटर के साथ अपने वेब ऐप का प्रोटोटाइप और परीक्षण शुरू करें, सुनिश्चित करें कि आप समग्र फायरबेस लोकल एमुलेटर सूट वर्कफ़्लो को समझते हैं , और आप लोकल एमुलेटर सूट को इंस्टॉल और कॉन्फ़िगर करते हैं और इसके सीएलआई कमांड की समीक्षा करते हैं।

आपको फायरबेस होस्टिंग की सुविधाओं और कार्यान्वयन वर्कफ़्लो से भी परिचित होना चाहिए। फायरबेस होस्टिंग के परिचय के साथ शुरुआत करें।

मैं फायरबेस होस्टिंग एमुलेटर के साथ क्या कर सकता हूं?

फायरबेस होस्टिंग एमुलेटर होस्टिंग सेवाओं का उच्च-निष्ठा स्थानीय अनुकरण प्रदान करता है, जो उत्पादन होस्टिंग में पाई जाने वाली अधिकांश कार्यक्षमता प्रदान करता है। होस्टिंग एमुलेटर आपको इसकी सुविधा देता है:

  • स्टोरेज या एक्सेस शुल्क के बिना अपनी स्थिर साइटों और वेब ऐप्स को प्रोटोटाइप करें
  • अपनी होस्टिंग साइट पर तैनात करने से पहले HTTPS फ़ंक्शन का प्रोटोटाइप, परीक्षण और डीबग करें
  • कंटेनरीकृत, निरंतर एकीकरण वर्कफ़्लो में साइटों और वेब ऐप्स का परीक्षण करें।

एक फायरबेस प्रोजेक्ट चुनें

फायरबेस लोकल एमुलेटर सुइट एकल फायरबेस प्रोजेक्ट के लिए उत्पादों का अनुकरण करता है।

उपयोग करने के लिए प्रोजेक्ट का चयन करने के लिए, एमुलेटर शुरू करने से पहले, सीएलआई में अपनी कार्यशील निर्देशिका में firebase use । या, आप प्रत्येक एमुलेटर कमांड को --project फ़्लैग पास कर सकते हैं।

स्थानीय एमुलेटर सुइट वास्तविक फायरबेस परियोजनाओं और डेमो परियोजनाओं के अनुकरण का समर्थन करता है।

परियोजना प्रकार विशेषताएँ एम्यूलेटर के साथ प्रयोग करें
असली

एक वास्तविक फ़ायरबेस प्रोजेक्ट वह है जिसे आपने बनाया और कॉन्फ़िगर किया है (संभवतः फ़ायरबेस कंसोल के माध्यम से)।

वास्तविक परियोजनाओं में लाइव संसाधन होते हैं, जैसे डेटाबेस इंस्टेंसेस, स्टोरेज बकेट, फ़ंक्शन, या आपके द्वारा उस फायरबेस प्रोजेक्ट के लिए सेट किया गया कोई अन्य संसाधन।

वास्तविक फायरबेस परियोजनाओं के साथ काम करते समय, आप किसी या सभी समर्थित उत्पादों के लिए एमुलेटर चला सकते हैं।

किसी भी उत्पाद के लिए जिसका आप अनुकरण नहीं कर रहे हैं, आपके ऐप्स और कोड लाइव संसाधन (डेटाबेस इंस्टेंस, स्टोरेज बकेट, फ़ंक्शन इत्यादि) के साथ इंटरैक्ट करेंगे।

डेमो

डेमो फ़ायरबेस प्रोजेक्ट में कोई वास्तविक फ़ायरबेस कॉन्फ़िगरेशन नहीं है और कोई लाइव संसाधन नहीं है। इन परियोजनाओं को आमतौर पर कोडलैब या अन्य ट्यूटोरियल के माध्यम से एक्सेस किया जाता है।

डेमो प्रोजेक्ट के लिए प्रोजेक्ट आईडी में demo- उपसर्ग होता है।

डेमो फायरबेस प्रोजेक्ट्स के साथ काम करते समय, आपके ऐप्स और कोड केवल एमुलेटर के साथ इंटरैक्ट करते हैं। यदि आपका ऐप किसी ऐसे संसाधन के साथ इंटरैक्ट करने का प्रयास करता है जिसके लिए एमुलेटर नहीं चल रहा है, तो वह कोड विफल हो जाएगा।

हम अनुशंसा करते हैं कि आप जहां भी संभव हो डेमो प्रोजेक्ट का उपयोग करें। लाभों में शामिल हैं:

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

कोर प्रोटोटाइपिंग वर्कफ़्लो

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

  1. (वैकल्पिक) डिफ़ॉल्ट रूप से, आपका स्थानीय रूप से होस्ट किया गया ऐप वास्तविक , अनुकरणीय नहीं, प्रोजेक्ट संसाधनों (फ़ंक्शन, डेटाबेस, नियम इत्यादि) के साथ इंटरैक्ट करेगा। इसके बजाय आप अपने द्वारा कॉन्फ़िगर किए गए किसी भी अनुकरणीय प्रोजेक्ट संसाधनों का उपयोग करने के लिए वैकल्पिक रूप से अपने ऐप को कनेक्ट कर सकते हैं। और जानें: रीयलटाइम डेटाबेस | क्लाउड फायरस्टोर | क्लाउड फ़ंक्शंस

  2. अपनी स्थानीय प्रोजेक्ट निर्देशिका की जड़ से, निम्न आदेश चलाएँ:

    firebase emulators:start
  3. अपना वेब ऐप सीएलआई द्वारा लौटाए गए स्थानीय यूआरएल पर खोलें (आमतौर पर http://localhost:5000 )।

  4. स्थानीय URL को परिवर्तनों के साथ अपडेट करने के लिए, अपने ब्राउज़र को रीफ़्रेश करें।

अन्य स्थानीय उपकरणों से परीक्षण करें

डिफ़ॉल्ट रूप से, एमुलेटर केवल localhost के अनुरोधों का जवाब देते हैं। इसका मतलब यह है कि आप अपनी होस्ट की गई सामग्री को अपने कंप्यूटर के वेब ब्राउज़र से एक्सेस कर पाएंगे, लेकिन अपने नेटवर्क पर अन्य डिवाइस से नहीं। यदि आप अन्य स्थानीय उपकरणों से परीक्षण करना चाहते हैं, तो अपने firebase.json इस प्रकार कॉन्फ़िगर करें:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

निरंतर एकीकरण वर्कफ़्लो के लिए ऑथ टोकन जेनरेट करें

यदि आपका निरंतर एकीकरण वर्कफ़्लो फ़ायरबेस होस्टिंग पर निर्भर करता है, तो आपको firebase emulators:exec । अन्य एमुलेटरों को लॉगिन की आवश्यकता नहीं है।

टोकन जनरेट करने के लिए, अपने स्थानीय परिवेश पर firebase login:ci चलाएँ; इसे सीआई प्रणाली से निष्पादित नहीं किया जाना चाहिए। प्रमाणित करने के लिए निर्देशों का पालन करें. आपको यह चरण प्रति प्रोजेक्ट केवल एक बार करने की आवश्यकता होगी, क्योंकि टोकन सभी बिल्ड में मान्य होगा। टोकन को पासवर्ड की तरह माना जाना चाहिए; सुनिश्चित करें कि इसे गुप्त रखा जाए।

यदि आपका सीआई वातावरण आपको पर्यावरण चर निर्दिष्ट करने की अनुमति देता है जिसका उपयोग बिल्ड स्क्रिप्ट में किया जा सकता है, तो बस FIREBASE_TOKEN नामक एक पर्यावरण चर बनाएं, जिसका मान एक्सेस टोकन स्ट्रिंग होगा। फायरबेस सीएलआई स्वचालित रूप से FIREBASE_TOKEN पर्यावरण चर को उठाएगा और एमुलेटर ठीक से शुरू हो जाएगा।

अंतिम उपाय के रूप में, आप बस अपनी बिल्ड स्क्रिप्ट में टोकन शामिल कर सकते हैं, लेकिन सुनिश्चित करें कि अविश्वसनीय पार्टियों के पास पहुंच न हो। इस हार्ड-कोडित दृष्टिकोण के लिए, आप firebase emulators:exec कमांड में --token "YOUR_TOKEN_STRING_HERE" जोड़ सकते हैं।

आगे क्या?