2016-09-08 13 views
9

मैं यहां बेबेल के महत्व को समझने के लिए संघर्ष कर रहा हूं ... इसलिए ईएस 6 साथ आता है और हमें वसा तीर फ़ंक्शंस, छोटे सिंटैक्स इत्यादि देता है तो हमें पारंपरिक जेएस में ES6 को संकलित करने की आवश्यकता क्यों है? क्या ऐसा इसलिए है क्योंकि वहां पुराने ब्राउज़र हैं जो नए जेएस सिंटैक्स की व्याख्या नहीं कर सकते हैं? या क्या स्रोत कोड को बनाए रखने के साथ इसका कुछ संबंध है? एक नोब सवाल का बिट मुझे पता है - लेकिन हे, मैं नोब हूँ! किसी भी अंतर्दृष्टि की सराहना की!मुझे बैबेल जेएस की आवश्यकता क्यों है?

+3

हां, क्योंकि सब कुछ ES6 का समर्थन नहीं करता है। साथ ही, अगर आप रिएक्ट या जेएसएक्स का उपयोग कर रहे हैं, तो इसे लेबल करने के लिए बेबेल की आवश्यकता है। – Li357

+0

मुझे लगता है कि ईएस 6 कुछ समय में आधिकारिक होगा, लेकिन आज वेब विकास को नए मानक में बदलना वाकई मुश्किल है क्योंकि ऐसी कई वेबसाइटें हैं जो अन्यथा नहीं चलती हैं। ब्राउज़र विकास से लड़कों को कुछ ऐसा बनाने की आवश्यकता होगी जो es6 और es5 पढ़े, ताकि आप सभी वेबसाइटों तक पहुंच सकें, भले ही कोड-अपडेट न हों। हम देखेंगे कि यह कैसे जाता है :) और मैं वास्तव में अनुमान लगा रहा हूं, मेरी टिप्पणी में कुछ भी अधिकारी नहीं है। –

+0

@ DawidZbiński ES6 पहले से ही आधिकारिक है।और पुरानी लिपियों के बारे में कुछ भी जटिल नहीं है, नया मानक पिछड़ा-संगत है, प्रत्येक ES5 मान्य ES6 भी है। – Bergi

उत्तर

0

आप इसे अधिकार मिल गया। ऐसे कई ब्राउज़र हैं जो ईएस 6 का समर्थन/आंशिक रूप से समर्थन नहीं करते हैं, इसलिए आपको आने वाले वर्षों के लिए पारंपरिक जेएस की व्याख्या करने की आवश्यकता है। विशेष रूप से जब ग्राहक शिकायत कर रहे हैं कि आपकी वेबसाइट उनके आई 6 ब्राउज़र पर काम नहीं करती है

7

जबकि यहां दिए गए उत्तरों सभी सही हैं, बेबेल केवल ES6 (ES2015) के बारे में नहीं है। ईसीएमए मानक समिति जावास्क्रिप्ट भाषा में वार्षिक अपडेट जारी करने पर सहमत हुई है। बेबेल हमेशा मानकों को एकीकृत करेगा, जबकि हम नहीं जानते कि सभी ब्राउज़र क्या करेंगे, और यदि वे करते हैं, तो वे बदलते मानकों को बनाए रखने में सक्षम होंगे या नहीं।

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

इस बारे में बेबेल बात के निर्माता को सुनने के लिए, आप this JavaScript Jabber episode सुन सकते हैं।

+0

धन्यवाद रयान। हां मैंने दूसरे दिन कार में उस एपिसोड का हिस्सा सुना ... मेरे जैसे युवा ऑस्ट्रेलियाई:) – ngboverflow

+0

बहुत बढ़िया! मैंने पिछले साल में इसका इस्तेमाल करने से बेबेल के बारे में सीखा। मेरे लिए, जावास्क्रिप्ट नई सुविधाओं के साथ एक पूरी तरह से नई भाषा है। हमारे पास एसिंक का इंतजार है, उदाहरण के लिए, मेरी राय में जो भी लंबे समय तक कॉलबैक लिख रहा है, उसके लिए एक पूर्ण गेम परिवर्तक है। यह कोड को और समझने योग्य बनाता है, जो कि बहुत बड़ा है। समझने योग्य कोड बनाए रखने योग्य कोड के बराबर है। बेबेल पूरी तरह से कमाल है और मैं इसे पूरी तरह से अपने टूलचेन का एक हिस्सा बनाने की सलाह दूंगा। –

+0

हेक, इन सभी प्रयोगात्मक प्लगइन और चरण-0-प्रीसेट के साथ, अधिकांश लोग नवीनतम सुविधाओं का उपयोग कर रहे हैं * पहले * रिलीज़ होने से पहले। (जैसे एसिंक/प्रतीक्षा, जो ES6 या ES7 का हिस्सा नहीं है)। – Bergi

0

मेरे अनुभव में बेबेल का उपयोग करने का कोई अच्छा कारण नहीं है। टाइपस्क्रिप्ट हर तरह से बेहतर है।

0

अधिकांश आधुनिक ब्राउज़रों के पास आज लगभग पूर्ण समर्थन es6 है। 96% से 99% समर्थन से।

https://kangax.github.io/compat-table/es6/

मुख्य बात याद आ रही ES6 मॉड्यूल है। वर्तमान में केवल सफारी ES6 मॉड्यूल का समर्थन करता है। ईएस 6 मॉड्यूल के लिए समर्थन Google क्रोम 60 में आना चाहिए।

ईएस 6 कोड चलाने के लिए आपको ब्राउज़र या वेबपैक जैसे बंडलर का उपयोग करके एक जावास्क्रिप्ट फ़ाइल में ईएस 6 कोड मॉड्यूल को जोड़ना होगा। बंडलिंग के लिए वेबपैक 3.0 का उपयोग करने के साथ मुझे शुभकामनाएं थीं।

बेबेल नई भाषा सुविधाओं को पुराने में परिवर्तित करने के लिए ज़िम्मेदार है।

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

संबंधित मुद्दे