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 अडैप्टर बनाया है, ताकि Nuxt ऐप्लिकेशन को App Hosting पर डिप्लॉय किया जा सके.
अगर आपको App Hosting के साथ काम करने वाले अन्य फ़्रेमवर्क देखने हैं, तो आप फ़्रेमवर्क अडैप्टर बना सकते हैं. इसके अलावा, बिल्ड आउटपुट को App Hosting के फ़ॉर्मैट में बदलने के लिए, फ़्रेमवर्क के रखरखाव करने वालों से संपर्क किया जा सकता है. अडैप्टर बनाने वाले लोगों के लिए, Next.js और Angular के अडैप्टर, रेफ़रंस के तौर पर इस्तेमाल किए जा सकते हैं.
कम्यूनिटी की सहायता से चलने वाले फ़्रेमवर्क के बारे में जानकारी, Firebase Open Source पर देखी जा सकती है. कम्यूनिटी की सहायता से चलने वाले फ़्रेमवर्क से जुड़ी समस्याएं और सुविधाओं के अनुरोध, ओपन सोर्स कम्यूनिटी या फ़्रेमवर्क के लेखकों को भेजे जाने चाहिए. कुछ मामलों में, 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 के अडैप्टर का सोर्स, firebase-framework-tools में उपलब्ध है.
App Hosting के रनटाइम
App Hosting से बिल्ड और रोल आउट किए जाने के बाद, आपका Node.js ऐप्लिकेशन, Cloud Run रिविज़न में चलता है. इसलिए, आपके ऐप्लिकेशन का रनटाइम वर्शन Cloud Run और आपके चुने हुए वेब फ़्रेमवर्क, दोनों की ज़रूरी शर्तों के मुताबिक होना चाहिए.Cloud Run Angular और Next.js के लिए, पहले से कॉन्फ़िगर की गई सहायता का मतलब है कि Node.js के ये वर्शन इस्तेमाल किए जा सकते हैं:
- Next.js 13.5.x और इससे नया वर्शन
- Angular 18.2.x और इससे नया वर्शन
- Node.js 20 और इससे नया वर्शन
App Hosting फ़्रेमवर्क के नए वर्शन के लिए, सक्रिय सहायता अपने-आप उपलब्ध नहीं कराता. फ़िलहाल, 'सक्रिय' के तौर पर तय किए गए वर्शन से नए वर्शन को 'प्रीव्यू' स्थिति में माना जाएगा. ऐसा तब तक होगा, जब तक उन्हें App Hosting के लिए आधिकारिक तौर पर 'सक्रिय' के तौर पर मार्क नहीं किया जाता.
App Hosting मुख्य रिलीज़ के सबसे नए माइनर वर्शन के लिए, सक्रिय सहायता मिलते रहने की अवधि से एक साल तक, लंबे समय तक सहायता (एलटीएस) उपलब्ध कराता है. हालांकि, इसके लिए ज़रूरी है कि आपने उस माइनर वर्शन में, पैच की सबसे नई रिलीज़ को लगातार अपडेट किया हो. Next.js और Angular के बारे में ज़्यादा जानने के लिए, यहां दी गई टेबल देखें.
Next.js के लिए सहायता का शेड्यूल
| वर्शन | स्थिति | समर्थन नहीं होना या रुकना |
|---|---|---|
| 13.5.x | एलटीएस | 2026-10-9 |
| 14.2.x | एलटीएस | 2026-10-9 |
| 15.0.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 15.1.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 15.2.x | सक्रिय | - |
Angular के लिए सहायता का शेड्यूल
| वर्शन | स्थिति | समर्थन नहीं होना या रुकना |
|---|---|---|
| 18.2.x | एलटीएस | 2026-10-9 |
| 19.0.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 19.1.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 19.2.x | सक्रिय | - |
बेस इमेज के अपडेट अपने-आप होने की सुविधा (एबीआईयू)
बेस इमेज के अपडेट अपने-आप होने की सुविधा (एबीआईयू) एक ऐसी सुविधा है जो आपके रनटाइम एनवायरमेंट में सुरक्षा पैच अपने-आप लागू करती है. इसके लिए, आपको ऐप्लिकेशन का नया रोलआउट ट्रिगर करने की ज़रूरत नहीं होती.
App Hosting नए बैकएंड के लिए, एबीआईयू को डिफ़ॉल्ट रूप से चालू रखता है. इसके लिए, ये ज़रूरी शर्तें पूरी करनी होती हैं:
- वर्शन वाले रनटाइम: एबीआईयू का इस्तेमाल करने के लिए, आपको वर्शन वाला रनटाइम तय करना होगा
(जैसे
nodejs20,nodejs22,nodejs24). App Hosting Node.js के सम-नंबर वाले वर्शन के साथ काम करता है. यह Cloud Run's की सहायता के मुताबिक है. - package.json मैच करना: App Hosting के लिए चुना गया Node का वर्शन, आपकी
package.jsonफ़ाइल केenginesफ़ील्ड में तय किए गए वर्शन के साथ काम करना चाहिए.App Hosting अगर कोई गड़बड़ी होती है, तो आपको बिल्ड-टाइम की गड़बड़ी Cloud Buildसे मिलेगी.enginesफ़ील्ड में बदलाव करने पर, डिप्लॉय करने से पहले, अपने बैकएंड के रनटाइम को अपडेट करना न भूलें.
एबीआईयू को बंद करना
अगर आपको एबीआईयू की सुविधा नहीं चाहिए, तो ऑनबोर्डिंग के दौरान इसे बंद किया जा सकता है. इसके अलावा,
अपने रनटाइम के लिए "तय नहीं किया गया" विकल्प चुनकर भी इसे Firebase कंसोल में बंद किया जा सकता है. जब वर्शन के बिना nodejs डिफ़ॉल्ट का इस्तेमाल किया जाता है, तो एबीआईयू अपने-आप बंद हो जाता है.
रंटाइम वर्शन मैनेज करना
App Hosting डैशबोर्ड के App Hosting **सेटिंग** टैब में जाकर, अपने बैकएंड का रनटाइम वर्शन और एबीआईयू की प्राथमिकता कभी भी देखी और बदली जा सकती है. हालांकि, ध्यान रखें कि रनटाइम वर्शन बदलने से, आपका ऐप्लिकेशन काम करना बंद कर सकता है. ऐसा तब होगा, जब नया वर्शन आपके कोड के साथ काम नहीं करेगा.
रनटाइम वर्शन की सहायता का लाइफ़साइकल आखिर में खत्म हो जाता है. रनटाइम को अपडेट रखना ज़रूरी है, ताकि कोई समस्या न हो:
- समर्थन नहीं मिलने वाले रनटाइम: अगर आपके चुने गए रनटाइम के लिए सहायता नहीं मिलती है, तो आम तौर पर आपका ऐप्लिकेशन काम करता रहेगा. आपको कंसोल में एक चेतावनी मिलेगी. साथ ही, आपको जल्द से जल्द नए वर्शन पर माइग्रेट करना चाहिए. ज़्यादा जानकारी के लिए, Cloud Run रनटाइम के लाइफ़साइकल के बारे में दस्तावेज़ देखें.
- बंद किए गए रनटाइम: बंद किए गए रनटाइम के लिए, सहायता उपलब्ध नहीं होती. बंद किए गए वर्शन का इस्तेमाल करके, नए बिल्ड या बैकएंड नहीं बनाए जा सकते. ऐसा करने की कोशिश करने पर, बिल्ड की गड़बड़ी दिखेगी. बंद किए गए वर्शन पर चल रहे मौजूदा डिप्लॉयमेंट काम करना बंद कर सकते हैं . साथ ही, Cloud Run के पास उन्हें मिटाने का अधिकार होता है.
समर्थित, बंद किए गए, और सहायता नहीं मिलने वाले Node के वर्शन की पूरी सूची के लिए, Cloud Run रनटाइम सहायता दस्तावेज़ देखें. बेस इमेज के अपडेट कैसे काम करते हैं, इस बारे में ज़्यादा तकनीकी जानकारी के लिए, Cloud Run एबीआईयू से जुड़ा दस्तावेज़ देखें.
पैकेज मैनेजर
App Hosting Cloud Native Buildpacks का इस्तेमाल करके, डिपेंडेंसी इंस्टॉल करता है. साथ ही, npm, yarn या pnpm का इस्तेमाल करके ऐप्लिकेशन को बिल्ड करता है. JSR जैसे अन्य पैकेज मैनेजर काम नहीं करते.
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 पर आधारित ऐप्लिकेशन के साथ काम करता है. ज़्यादा जानकारी के लिए, के साथ मोनोरिपो का इस्तेमाल करना देखें.App Hosting
Nx के ये वर्शन इस्तेमाल किए जा सकते हैं:
| वर्शन | स्थिति | समर्थन नहीं होना या रुकना |
|---|---|---|
| 19.5.x | रखरखाव | 2025-10-9 |
| 19.6.x | रखरखाव | 2025-10-9 |
| 19.7.x | रखरखाव | 2025-10-9 |
| 19.8.x | एलटीएस | 2026-10-9 |
| 20.0.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 20.1.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 20.2.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 20.3.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 20.4.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 20.5.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 20.6.x | सक्रिय | 2025-10-9 से पहले नहीं |
| 20.7.x | सक्रिय | — |
अगर आपको अन्य तरह के मोनोरिपो वर्कस्पेस के लिए सहायता चाहिए, तो Firebase UserVoice पर हमें बताएं.