2015-10-12 6 views
7

मैंने ट्विटर पर उल्लेख किया कि मैं es6-shim से babel पर जा रहा था। किसी और ने उल्लेख किया:क्या बेबेल को es6-shim की आवश्यकता है?

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

तो:

  1. करता कोलाहल ES6-शिम या इसी तरह की ज़रूरत है?

  2. यदि ऐसा होता है, तो इन चीजों को निर्भरता के रूप में require क्यों नहीं बेचना है?

कोई सहायक तर्क के साथ 'हां/नहीं' पर पसंदीदा संदर्भों के साथ उत्तर दें!

उत्तर

11

बेबेल, इसके मूल पर, एक ही चीज करता है: सिंटैक्स को एक रूप से दूसरे रूप में परिवर्तित करें।

बेबेल के कुछ वाक्यविन्यास परिवर्तन ईएस 6 लाइब्रेरी कार्यक्षमता पर निर्भरताएं पेश करते हैं। इसके साथ ही चिंता का विषय नहीं है कैसे है कि कार्यक्षमता वहाँ गया है क्योंकि:

  • सिस्टम पहले से ही यह प्रदान कर सकते हैं
  • उपयोगकर्ता केवल एक पुस्तकालय के विशिष्ट टुकड़े
  • कई polyfills हैं लोड करने के लिए चाहते हो सकता है और उपयोगकर्ता का उपयोग करने के लिए एक विशिष्ट व्यक्ति हो सकता है।

यह डेवलपर्स नौकरी है यह सुनिश्चित करने के लिए कि एक पर्यावरण में पारदर्शी कोड चल रहा है जहां वास्तव में सभी कार्यों की आवश्यकता है।

  • कोलाहल es6-shim के साथ ठीक काम करता है, तो आप इसे का उपयोग कर रखना चाहते हैं चाहिए।
  • बेबेल babel/polyfill को पॉलीफिल लोड करने के लिए एक मृत सरल तरीके के रूप में भी उजागर करता है, जो core-js लोड करता है, es6-shim जैसे अन्य पॉलीफिल लोड करता है। बस:

    require('babel/polyfill');

4

कुछ कोलाहल परिवर्तनों वस्तुओं या तरीकों कि अपने क्रम पर्यावरण में उपलब्ध नहीं हो सकता और जो तुम इसलिए उन वातावरण के लिए polyfill चाहेगा पर भरोसा करते हैं। उन निर्भरताओं को https://babeljs.io/docs/usage/caveats/ पर दस्तावेज किया गया है।

एक पॉलीफिल के साथ बेबेल जहाजों जो उन सभी आवश्यकताओं को पूरा करता है जिन्हें आप चुन सकते हैं, यदि आप चाहें तो ऑप्ट-इन कर सकते हैं, और @loganfsmyth समझाए गए कारणों से स्वचालित रूप से पॉलीफिल डालने का प्रयास नहीं करते हैं।

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