BabelJS Kya Hai

BabelJS एक जावास्क्रिप्ट ट्रांसपिलर है जो नई सुविधाओं को पुराने मानक में स्थानांतरित करता है. इसके साथ, फीचर को पुराने और नए दोनों ब्राउज़रों पर चलाया जा सकता है, परेशानी मुक्त. एक ऑस्ट्रेलियाई डेवलपर, सेबस्टियन मैकेंजी ने बेबेलजेएस की शुरुआत की.

जावास्क्रिप्ट वह भाषा है जिसे ब्राउज़र समझता है. हम अपने अनुप्रयोगों को चलाने के लिए विभिन्न ब्राउज़रों का उपयोग करते हैं, क्रोम, फ़ायरफ़ॉक्स, इंटरनेट एक्सप्लोरर, माइक्रोसॉफ्ट एज, ओपेरा, यूसी ब्राउज़र आदि। ईसीएमए स्क्रिप्ट जावास्क्रिप्ट भाषा विनिर्देश है; ECMA स्क्रिप्ट 2015 ES5 एक स्थिर संस्करण है जो सभी नए और पुराने ब्राउज़रों में ठीक काम करता है.

ES5 के बाद, हमारे पास ES6, ES7 और ES8 हैं. ईएस 6 बहुत सारे नए फीचर्स के साथ जारी किया गया है जो सभी ब्राउज़रों द्वारा पूरी तरह से समर्थित नहीं हैं. वही ES7, ES8 और ESNext ECMA स्क्रिप्ट का अगला संस्करण पर लागू होता है. यह अब अनिश्चित है जब सभी ब्राउज़रों के लिए जारी किए जाने वाले सभी ईएस संस्करणों के साथ संगत होना संभव होगा.

यदि हम अपने कोड को लिखने के लिए ES6 या ES7 या ES8 सुविधाओं का उपयोग करने की योजना बनाते हैं, क्योंकि यह नए परिवर्तनों के समर्थन की कमी के कारण कुछ पुराने ब्राउज़रों में टूट जाएगा. इसलिए, यदि हम अपने कोड में ECMA स्क्रिप्ट की नई सुविधाओं का उपयोग करना चाहते हैं और इसे उपलब्ध सभी संभव ब्राउज़रों पर चलाना चाहते हैं, तो हमें एक उपकरण की आवश्यकता है जो ES5 में हमारे अंतिम कोड को संकलित करेगा.

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

बैबल-ट्रांसपिलर आधुनिक जावास्क्रिप्ट के सिंटैक्स को एक रूप में परिवर्तित करता है, जिसे पुराने ब्राउज़रों द्वारा आसानी से समझा जा सकता है. उदाहरण के लिए, एरो फंक्शन, कॉन्स्ट, लेट क्लासेस को फंक्शन, वेरिएशन आदि में बदल दिया जाएगा। यहाँ सिंटैक्स, यानी एरो फंक्शन को दोनों ही मामलों में फंक्शनैलिटी को समान रखते हुए एक सामान्य फंक्शन में बदल दिया जाता है.

जावास्क्रिप्ट में नए फीचर्स जोड़े गए हैं जैसे वादे, नक्शे और शामिल हैं. सुविधाओं का उपयोग सरणी पर किया जा सकता है. वही, जब बाबेल का उपयोग किया जाता है और ट्रांसफ़ेक्ट किया जाता है, तो वह परिवर्तित नहीं होगा। यदि नई सुविधा एक विधि या वस्तु है, तो हमें पुराने ब्राउज़रों को काम करने के लिए ट्रांसपिलिंग के साथ-साथ बैबल-पॉलीफिल का उपयोग करना होगा.

Features of BabelJS

इस भाग में, हम BabelJS की विभिन्न विशेषताओं के बारे में जानेंगे. बबलजेएस की सबसे महत्वपूर्ण मुख्य विशेषताएं निम्नलिखित हैं -

Babel Plugins

प्लग और प्रीसेट्स कोड को ट्रांसपाइल करने के लिए बाबेल के लिए कॉन्फ़िगर विवरण हैं. बैबेल कई प्लगइन्स का समर्थन करता है, जिनका उपयोग व्यक्तिगत रूप से किया जा सकता है, अगर हम उस वातावरण को जानते हैं जिसमें कोड निष्पादित होगा.

Babel Presets

बैबेल प्रीसेट प्लगइन्स का एक सेट है, यानी, बैबल-ट्रांसपिलर के लिए विवरण कॉन्फ़िगर करता है जो बैबल को एक विशिष्ट मोड में ट्रांसपाइल करने का निर्देश देता है. हमें प्रीसेट का उपयोग करने की आवश्यकता है, जिसमें पर्यावरण है जिसमें हम चाहते हैं कि कोड परिवर्तित किया जाए उदाहरण के लिए, es2015 प्रीसेट कोड को es5 में बदल देगा.

Babel Polyfills

विधियों और वस्तुओं जैसी कुछ विशेषताएं हैं, जिन्हें स्थानांतरित नहीं किया जा सकता है. ऐसे उदाहरणों में, हम किसी भी ब्राउज़र में सुविधाओं के उपयोग को सुविधाजनक बनाने के लिए बैबल-पॉलीफिल का उपयोग कर सकते हैं. आइए हम वादों के उदाहरण पर विचार करें पुराने ब्राउज़र में काम करने की सुविधा के लिए, हमें पॉलीफ़िल का उपयोग करने की आवश्यकता है.

Advantages of BabelJS

इस भाग में, हम BabelJS के उपयोग से जुड़े विभिन्न लाभों के बारे में जानेंगे -

  1. BabelJS जावास्क्रिप्ट में सभी नव जोड़ी सुविधाओं के लिए पिछड़े संगतता प्रदान करता है और किसी भी ब्राउज़र में उपयोग किया जा सकता है.

  2. BabelJS में जावास्क्रिप्ट के अगले आगामी संस्करण को लेने की क्षमता है - ES6, ES7, ESNext, आदि.

  3. BabelJS का उपयोग गल्प, वेबपैक, प्रवाह, प्रतिक्रिया, टाइपस्क्रिप्ट आदि के साथ किया जा सकता है, जो इसे बहुत शक्तिशाली बनाता है और इसका उपयोग डेवलपर के जीवन को आसान बनाने वाली बड़ी परियोजना के साथ किया जा सकता है.

  4. BabelJS JSX सिंटैक्स पर प्रतिक्रिया के साथ भी काम करता है और इसे JSX रूप में संकलित किया जा सकता है.

  5. BabelJS में प्लगइन्स, पॉलीफ़िल्स, बैबल-क्लि के लिए समर्थन है जो बड़ी परियोजनाओं के साथ काम करना आसान बनाता है

Disadvantages of BabelJS

इस भाग में, हम BabelJS का उपयोग करने के विभिन्न नुकसानों के बारे में जानेंगे.

  1. BabelJS कोड ट्रांसप्लीन करते समय वाक्यविन्यास को बदलता है जो उत्पादन पर जारी होने पर कोड को समझना मुश्किल बनाता है.

  2. मूल कोड की तुलना में कोड ट्रांसप्लड आकार में अधिक है.

  3. सभी ईएस 6/7/8 या आगामी नई सुविधाओं को ट्रांसप्लेंड नहीं किया जा सकता है और हमें पॉलीफिल का उपयोग करना होगा ताकि यह पुराने ब्राउज़रों के लिए काम करे.

BabelJS ES6 Code Execution

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

हमने ईएस 6, ईएस 7 और ईएस 8 में जोड़े गए एरो फ़ंक्शंस, क्लास, वादे, जनरेटर, एसिंक्स फ़ंक्शंस आदि जैसी कई विशेषताएं देखी हैं. जब पुराने ब्राउज़रों में किसी भी नई जोड़ी गई सुविधाओं का उपयोग किया जाता है, तो यह त्रुटियों को फेंकता है. BabelJS कोड को संकलित करने में मदद करता है, जो पुराने ब्राउज़रों के साथ संगत है। हमने देखा है कि ES5 बिना किसी मुद्दे के पुराने ब्राउज़रों पर पूरी तरह से ठीक काम करता है.

इसलिए परियोजना के पर्यावरण के विवरण पर विचार करते हुए, यदि पुराने ब्राउज़रों पर चलना आवश्यक है, तो हम अपनी परियोजना में किसी भी नई सुविधा का उपयोग कर सकते हैं और कोड को ES5 में संकलित कर सकते हैं और babeljs का उपयोग कर सकते हैं, और किसी भी मुद्दे के बिना किसी भी ब्राउज़र का उपयोग कर सकते हैं.