ऐप्लिकेशन होस्टिंग के लिए फ़्रेमवर्क और टूल

Firebase App Hosting को खास तौर पर, फ़्रेमवर्क पर आधारित मॉडर्न वेब ऐप्लिकेशन डेवलपमेंट के लिए डिज़ाइन किया गया है. इस पेज का इस्तेमाल, उन टूल और फ़्रेमवर्क के रेफ़रंस के तौर पर करें जिन्हें App Hosting सीधे तौर पर सपोर्ट करता है. साथ ही, इससे जुड़े फ़्रेमवर्क और टूल के बारे में जानने के लिए, इस पेज का इस्तेमाल करें.

वेब फ़्रेमवर्क और App Hosting

App Hosting, मॉडर्न वेब फ़्रेमवर्क के लिए दो लेवल पर सहायता उपलब्ध कराता है: पहले से कॉन्फ़िगर किए गए बिल्ड और डिप्लॉयमेंट के लिए सहायता. साथ ही, आउटपुट बंडल की खास बातों के मुताबिक ओपन सोर्स योगदान के ज़रिए कम्यूनिटी लेवल पर सहायता. दोनों मामलों में, फ़्रेमवर्क अडैप्टर कॉम्पोनेंट, App Hosting के साथ किसी खास फ़्रेमवर्क को इंटिग्रेट करने की सुविधा देता है.

पहले से कॉन्फ़िगर किए गए बिल्ड और डिप्लॉयमेंट की सुविधा वाले फ़्रेमवर्क

पहले से कॉन्फ़िगर किए गए बिल्ड और डिप्लॉयमेंट की सुविधा की मदद से, Firebase यह पता लगाता है कि किस फ़्रेमवर्क का इस्तेमाल किया जा रहा है. इसके लिए, वह package-lock.json फ़ाइल या अन्य लॉक फ़ाइल की जांच करता है. साथ ही, आपके ऐप्लिकेशन के लिए बिल्ड और डिप्लॉयमेंट की प्रोसेस को ऑप्टिमाइज़ करता है. Google इन फ़्रेमवर्क के लिए सहायता उपलब्ध कराता रहेगा. साथ ही, Firebase की सहायता टीम, समस्या की रिपोर्ट और सुविधा के अनुरोध स्वीकार कर सकती है.

इस लेवल की सहायता इनके लिए उपलब्ध है:

  • Next.js
  • Angular

खास वर्शन और सहायता के लेवल के बारे में ज़्यादा जानने के लिए, सहायता शेड्यूल देखें.

अगर आपने कोई ऐसा Node.js ऐप्लिकेशन डिप्लॉय करने की कोशिश की है जिसमें लॉक फ़ाइल मौजूद नहीं है, तो App Hosting आपके ऐप्लिकेशन को बिल्ड और रन नहीं कर पाएगा. package-lock.json को बनाने के लिए, अपनी रूट डायरेक्ट्री में npm install को चलाएं.

कम्यूनिटी की मदद से काम करने वाले फ़्रेमवर्क

Next.js और Angular के अलावा, App Hosting किसी भी ऐसे वेब फ़्रेमवर्क के साथ काम करता है जो हमारे आउटपुट बंडल स्पेसिफ़िकेशन से मैच होने वाला बिल्ड आउटपुट दे सकता है. फ़्रेमवर्क के लेखक, आउटपुट बंडल की खास जानकारी का फ़ायदा ले सकते हैं, ताकि यह पक्का किया जा सके कि उनके फ़्रेमवर्क को App Hosting पर इस्तेमाल किया जा सकता है. उदाहरण के लिए, लोकप्रिय Nuxt फ़्रेमवर्क को Nitro टीम की मदद से बनाया गया है. इस टीम ने Firebase अडैप्टर बनाया है, ताकि App Hosting पर Nuxt ऐप्लिकेशन को डिप्लॉय किया जा सके.

अगर आपको App Hosting के साथ काम करने वाले अन्य फ़्रेमवर्क देखने हैं, तो फ़्रेमवर्क अडैप्टर बनाएं या फ़्रेमवर्क के मेंटेनर से संपर्क करें, ताकि बिल्ड आउटपुट को App Hosting फ़ॉर्मैट में बदला जा सके. Next.js और Angular अडैप्टर, अडैप्टर बनाने वाले किसी भी व्यक्ति के लिए अच्छे रेफ़रंस उदाहरण हैं.

कम्यूनिटी की मदद से काम करने वाले फ़्रेमवर्क की जानकारी, Firebase ओपन सोर्स पर मिल सकती है. कम्यूनिटी की मदद से बनाए गए फ़्रेमवर्क से जुड़ी समस्याओं और सुविधाओं के अनुरोधों को, ओपन सोर्स कम्यूनिटी या फ़्रेमवर्क के लेखकों को भेजा जाना चाहिए. कुछ मामलों में, Google आपकी मदद कर सकता है. हालांकि, इन अडैप्टर के लिए सहायता पाने का पहला ज़रिया कम्यूनिटी है.

App Hosting फ़्रेमवर्क अडैप्टर

App Hosting में, पहले से कॉन्फ़िगर किए गए और कम्यूनिटी के साथ काम करने वाले, दोनों फ़्रेमवर्क के लिए सहायता, फ़्रेमवर्क अडैप्टर के ज़रिए दी जाती है. App Hosting फ़्रेमवर्क अडैप्टर की दो मुख्य भूमिकाएं होती हैं:

  • ये आपके सोर्स कोड और फ़्रेमवर्क के हिसाब से तय की गई कॉन्फ़िगरेशन फ़ाइलों (जैसे, next.config.js) को पार्स करते हैं. साथ ही, एक आउटपुट बंडल जनरेट करते हैं जिसे App Hosting के बाकी इन्फ़्रास्ट्रक्चर से प्रोसेस किया जा सकता है.
  • ये आपके ऐप्लिकेशन के बिल्ड कमांड को चलाते हैं, ताकि स्टैटिक ऐसेट जनरेट की जा सकें और प्रोडक्शन के लिए आपके ऐप्लिकेशन का ऑप्टिमाइज़ किया गया वर्शन बनाया जा सके.

फ़्रेमवर्क अडैप्टर, npm run build की मदद से आपके Node.js ऐप्लिकेशन को बिल्ड करते हैं. ये हर फ़्रेमवर्क के लिए, डिफ़ॉल्ट बिल्ड स्क्रिप्ट के साथ सबसे अच्छी तरह काम करते हैं: Next.js के लिए next build और Angular के लिए ng build. App Hosting, कस्टम बिल्ड कमांड की मदद से बिल्ड बनाने की कोशिश करेगा. हालांकि, इस बात की गारंटी नहीं दी जा सकती कि यह तरीका हमेशा काम करेगा. apphosting.yaml में, बिल्ड और रन स्क्रिप्ट को बदला जा सकता है.

Next.js और Angular अडैप्टर का सोर्स, apphosting-adapters में उपलब्ध है.

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 22 और इसके बाद के वर्शन

App Hosting, फ़्रेमवर्क के नए वर्शन के लिए अपने-आप सहायता उपलब्ध नहीं कराता. हमारे मौजूदा 'चालू' वर्शन से नए वर्शन को 'झलक' की स्थिति में माना जाएगा. ऐसा तब तक होगा, जब तक उन्हें आधिकारिक तौर पर App Hosting के लिए 'चालू' के तौर पर मार्क नहीं किया जाता.

App Hosting, किसी मुख्य रिलीज़ के सबसे नए माइनर वर्शन के लिए, लंबे समय तक सहायता (एलटीएस) उपलब्ध कराता है. यह सहायता, सहायता मिलने की अवधि के बाद एक साल तक मिलती है. हालांकि, इसके लिए ज़रूरी है कि आप उस माइनर वर्शन के लिए, रिलीज़ होने वाले नए पैच लगातार अपडेट करते रहें. Next.js और Angular के बारे में ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें.

Next.js के लिए सहायता शेड्यूल

वर्शन स्थिति बंद करना
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x lts 2027-10-9
15.1.x lts 2027-10-9
15.2.x सक्रिय 9-10-2026 से पहले नहीं

Angular के लिए सहायता शेड्यूल

वर्शन स्थिति बंद करना
18.2.x lts 2026-10-9
19.0.x lts 2027-10-9
19.1.x lts 2027-10-9
19.2.x सक्रिय -

बेस इमेज के अपने-आप अपडेट होने की सुविधा (एबीआईयू)

ऑटोमैटिक बेस इमेज अपडेट (एबीआईयू) एक ऐसी सुविधा है जो आपके रनटाइम एनवायरमेंट में सिक्योरिटी पैच अपने-आप लागू करती है. इसके लिए, आपको ऐप्लिकेशन का नया रोलआउट ट्रिगर करने की ज़रूरत नहीं पड़ती.

App Hosting, नए बैकएंड के लिए ABIU को डिफ़ॉल्ट रूप से चालू करता है. इसके लिए, ये ज़रूरी शर्तें पूरी करनी होंगी:

  • वर्शन वाले रनटाइम: ABIU का इस्तेमाल करने के लिए, आपको वर्शन वाला रनटाइम (जैसे, nodejs22 या nodejs24) तय करना होगा. App Hosting, Node.js के इवन नंबर वाले वर्शन के साथ काम करता है. यह Cloud Run के साथ काम करने वाले वर्शन के साथ भी काम करता है.
  • package.json से मैच करना: App Hosting के लिए चुना गया Node वर्शन, आपकी package.json फ़ाइल के engines फ़ील्ड में बताए गए वर्शन के साथ काम करना चाहिए. अगर कोई गड़बड़ी होती है, तो आपको Cloud Build से बिल्ड-टाइम की गड़बड़ी का मैसेज मिलेगा. engines फ़ील्ड में बदलाव करने पर, डिप्लॉय करने से पहले अपने बैकएंड के रनटाइम को अपडेट करना न भूलें.

एबीआईयू को बंद करना

अगर आपको एबीआईयू से ऑप्ट आउट करना है, तो इसे ऑनबोर्डिंग के दौरान बंद किया जा सकता है. इसके अलावा, Firebase कंसोल में अपने रनटाइम के लिए "तय नहीं किया गया" को चुनकर भी इसे बंद किया जा सकता है. जब बिना वर्शन वाले nodejs डिफ़ॉल्ट का इस्तेमाल किया जाता है, तो ABIU अपने-आप बंद हो जाता है.

रनटाइम वर्शन मैनेज करना

अपने App Hosting डैशबोर्ड के सेटिंग टैब में जाकर, बैकएंड के रनटाइम वर्शन और एबीआईयू की प्राथमिकता को किसी भी समय देखा और बदला जा सकता है. हालांकि, ध्यान रखें कि अगर नया वर्शन आपके कोड के साथ काम नहीं करता है, तो रनटाइम वर्शन बदलने से आपका ऐप्लिकेशन काम करना बंद कर सकता है.

रनटाइम वर्शन के लिए सहायता की लाइफ़साइकल खत्म हो जाती है. नुकसान पहुंचा सकने वाले बदलावों से बचने के लिए, रनटाइम को अपडेट रखना ज़रूरी है:

  • इस्तेमाल से बाहर हो चुके रनटाइम: अगर आपका चुना गया रनटाइम इस्तेमाल से बाहर हो जाता है, तो आम तौर पर आपका ऐप्लिकेशन काम करता रहेगा. आपको कंसोल में एक चेतावनी मिलेगी. आपको जल्द से जल्द नए वर्शन पर स्विच करना चाहिए. ज़्यादा जानकारी के लिए, रनटाइम लाइफ़साइकल का Cloud Run दस्तावेज़ देखें.
  • बंद किए गए रनटाइम: बंद किए गए रनटाइम पूरी तरह से काम नहीं करते. बंद किए गए वर्शन का इस्तेमाल करके, नए बिल्ड या बैकएंड नहीं बनाए जा सकेंगे. ऐसा करने पर, बिल्ड से जुड़ी गड़बड़ी का मैसेज दिखेगा. बंद किए गए वर्शन पर चल रहे मौजूदा डिप्लॉयमेंट काम करना बंद कर सकते हैं. साथ ही, Cloud Run के पास उन्हें मिटाने का अधिकार सुरक्षित है.

इस्तेमाल किए जा सकने वाले, इस्तेमाल नहीं किए जा सकने वाले, और बंद किए जा चुके Node वर्शन की पूरी सूची देखने के लिए, Cloud Run रनटाइम सहायता दस्तावेज़ देखें. बेस इमेज के अपडेट कैसे काम करते हैं, इस बारे में ज़्यादा तकनीकी जानकारी के लिए, Cloud Run ABIU दस्तावेज़ देखें.

पैकेज मैनेजर

App Hosting, डिपेंडेंसी इंस्टॉल करने के लिए Cloud Native Buildpacks का इस्तेमाल करता है. साथ ही, npm, yarn या pnpm का इस्तेमाल करके ऐप्लिकेशन बनाता है. जेएसआर जैसे अन्य पैकेज मैनेजर काम नहीं करते.

NPM

  • NPM, डिफ़ॉल्ट पैकेज मैनेजर है.
  • बिल्ड पूरा होने के बाद, नॉन-प्रोडक्शन डिपेंडेंसी हटा दी जाती हैं.
  • package.json फ़ाइल में engines.npm फ़ील्ड का इस्तेमाल करके, npm वर्शन सेक्शन की जानकारी दी जा सकती है.

ऊन

  • जब अपने प्रोजेक्ट में yarn.lock फ़ाइल को शामिल किया जाता है, तब Yarn का इस्तेमाल किया जाता है.
  • अपनी package.json फ़ाइल के engines.yarn या packageManager फ़ील्ड में, Yarn का वह वर्शन तय किया जा सकता है जिसका इस्तेमाल करना है.
  • App Hosting, Yarn2 PnP मोड के साथ काम करता है.

Pnpm

  • जब अपने प्रोजेक्ट में pnpm-lock.yaml फ़ाइल को शामिल किया जाता है, तब pnpm का इस्तेमाल किया जाता है.
  • package.json फ़ाइल के engines.pnpm या packageManager फ़ील्ड में, pnpm का कोई वर्शन तय किया जा सकता है.
  • काम करने वाले उदाहरण के लिए, sample-node-pnpm ऐप्लिकेशन देखें.

App Hosting के लिए मोनो रिपॉज़िटरी

App Hosting, Nx और Turborepo मोनो रिपॉज़िटरी ऐप्लिकेशन के साथ काम करता है. ज़्यादा जानकारी के लिए, App Hosting के साथ मोनो रिपॉज़िटरी इस्तेमाल करना लेख पढ़ें.

Nx के ये वर्शन इस्तेमाल किए जा सकते हैं:

वर्शन स्थिति बंद करना
20.8.x lts 9-10-2027 से पहले नहीं

अगर आपको अन्य तरह के मोनो रिपॉज़िटरी वर्कस्पेस के लिए सहायता चाहिए, तो हमें Firebase UserVoice पर बताएं.