जवाबों:
बाबेल का चरण प्रीसेट एक संभावित भाषा परिवर्तन के लिए TC39 प्रक्रिया और प्रत्येक प्रस्ताव के विभिन्न राज्यों के बराबर है । वे उस चरण में प्रस्तावित सभी परिवर्तनों के लिए कार्यान्वयन और पॉलीफ़िल शामिल हैं।
वर्तमान में कुछ भी Stage-0
है, स्ट्रॉमन है, ईएस 6 नहीं । यह भविष्य का जावास्क्रिप्ट है और बिल्कुल निश्चित नहीं है कि यह कभी भी किसी भी आधिकारिक ईसीएमएस्क्रिप्ट विनिर्देश में बना देगा।
कृपया इसे केवलstage-0
इसके परिणामों के बिना समझे काम नहीं करेंगे।
बैबेल प्रीसेट जिसमें केवल ES6 विशेषताएं हैं preset-es2015
stage-0
लेकिन किसी भी तरह से पूरी तरह से परिवर्तन या यहां तक कि कुल पदावनति से सुरक्षित नहीं है (देखें चरण निर्माण प्रस्ताव जो चरण 1 के बाद वापस ले लिया गया था)। लेकिन वही स्टेज 4 (यानी समाप्त) के अलावा किसी भी स्टेज के बारे में कहा जा सकता है।
preset-es2015
के साथ babel-preset-node6
, इन दिनों नोड 6 या बेहतर चल रहा है।
babel-preset-env
जो किसी भी वातावरण को लक्षित कर सकता है!
babel-preset-env
INSTEAD OF का उपयोग करें babel-preset-es2015
। babel-preset-es2015
लगभग पुराना है
जैसा कि ज्यादातर अन्य उत्तरों द्वारा विस्तृत है। स्टेज 4 सबसे स्थिर और स्टेज 0 सबसे खतरनाक है। पिछले उत्तरों और दस्तावेज़ीकरण से 5 चरणों के लिए उच्च स्तर पर थोड़ा विराम होता है। मैं इसे जोड़ रहा हूं क्योंकि जब मैं इसके पास आया था तो मैं उम्मीद कर रहा था कि प्रत्येक चरण क्या है?
ECMAScript स्टैंडर्ड में शामिल करने के लिए तैयार, परीक्षण पास कर चुका है और अगले संशोधन का हिस्सा होगा
एक पूर्ण कल्पना पाठ शामिल है और इसमें प्लगइन्स शामिल हैं जिन्हें ज्यादातर परीक्षण किया गया है और प्रतिक्रिया के साथ प्रदान किया गया है। समाधान पूर्ण है और आगे के सभी परिवर्तन कार्यान्वयन के अनुभव पर आधारित हैं।
जितना संभव हो सके, प्लगइन्स के लिए आगे का समर्थन। इनके लिए आवश्यकताएं ज्यादातर रास्ते में केवल वृद्धिशील परिवर्तनों के साथ पूरी होती हैं। अर्थ और एपि के पूरे होने की उम्मीद है। यह सबसे अधिक संभावना युक्ति का हिस्सा बन जाएगा।
प्रत्येक स्तर समावेशी है जबकि 4 में 3 शामिल हैं 2 और इसी तरह ... मुझे आशा है कि यह योग भविष्य में किसी की मदद करता है।
चरण TC39 प्रक्रिया द्वारा परिभाषित चरणों का प्रतिनिधित्व करते हैं जो पागल लेकिन उपयोगी विचारों से स्वीकृत मानकों जैसे कि ES6 में काम करता है। प्रक्रिया में कुछ समय लगता है, क्योंकि हर कोने के मामले पर चर्चा की जानी चाहिए, परीक्षण, पॉलीफ़िल्ड के बारे में सोचा जाना चाहिए, कुछ और चर्चा की गई, आदि, यह एक मानक निकाय है। लक्ष्य यह है कि "ईएस 6" कहने का एक पूर्ण और पूर्ण अर्थ होगा, जितना कि "ईएस 5" करता है।
व्यवहार में, आपकी परियोजना की आवश्यकताएं, रहने की कोशिश और सच से लेकर ओह-सो-सुविधाजनक के साथ खेलने तक हो सकती हैं, अगर नेबुलस, भाषा सुविधाएँ। आप शायद इन लिंक्स से शुरुआत करना चाहते हैं:
TC39 प्रोसेस ओवरव्यू : इसमें एक निफ्टी चार्ट शामिल है जैसे कि चरणों का क्या मतलब है और चरण से चरण तक की प्रगति कैसे होती है। नीचे वह TC39 का अवलोकन है।
सक्रिय प्रस्ताव : कुछ प्रस्तावों के किस चरण में एक त्वरित अवलोकन है। इसमें समाप्त, निष्क्रिय और चरण 0 प्रस्तावों के लिंक भी शामिल हैं। आज, अप्रैल 2017, पब्लिक क्लास फील्ड्स स्टेज 2 में है, जिसका अर्थ है कि यह ठीक वर्णित है और समीक्षकों को सौंपा गया है, लेकिन पूरी तरह से समीक्षा नहीं की गई है।
स्टेज 3 के लिए बैबल प्रीसेट पैकेज : सभी स्टेज 3 प्रस्तावों के लिए Git और NPM के लिंक के साथ प्लग-इन पेज। मूल रूप से, यह प्लग-इन पैकेजों के संग्रह में खींचती है, सिद्धांत रूप में, TC39 चरण 3 में वर्तमान प्रस्तावों को पॉलीफ़िल करती है। व्यवहार में, बग्स हो सकते हैं। इसके अलावा, आप समान समान पा सकते हैं, यह चरण 2 और नीचे के प्लग-इन पृष्ठों से लिंक करता है । वे पृष्ठ उन पैकेजों से जुड़ेंगे जिनमें स्टेज 3 प्रस्ताव और कम स्थिर प्रस्ताव शामिल हैं।
बैबेल प्रीसेट 'env' : यह बैबेल प्रीसेट पूर्ण प्रस्तावों का समर्थन करता है, एक ज्ञात वातावरण में इन सुविधाओं का समर्थन करने के लिए आवश्यक सही संकुल का चयन करता है। उदाहरण के लिए, एक स्थानीय node
निष्पादन योग्य को पुराने ब्राउज़र की तुलना में कम प्लग इन की आवश्यकता होती है। यह 'स्टेज -4' प्लगइन के बारे में सोचा जा सकता है जो अनुमोदित भविष्य की सुविधाओं का समर्थन करता है।
सारांश में, यदि आप उनका उपयोग करते हैं, तो आपको केवल इन प्रीलेरेज सुविधाओं से निपटने की आवश्यकता है। यदि आपको उनका उपयोग करने की आवश्यकता है, तो उस चरण की उच्चतम संख्या चुनें, जिसकी आपको आवश्यकता है। यदि आप वाटर कूलर के चारों ओर चर्चा करने के लिए पागल सुविधाओं के साथ खिलौना स्थापना चाहते हैं, तो आगे बढ़ें और चरण 0 को पकड़ो।
यह समझने का सबसे अच्छा प्रारंभिक बिंदु है। बेबल प्रीसेट क्या हैं
लिंक का एक अंश:
स्टेज 0 - स्ट्रॉमैन: सिर्फ एक विचार, संभव बैबल प्लगइन।
चरण 1 - प्रस्ताव: यह काम करने के लायक है।
स्टेज 2 - ड्राफ्ट: प्रारंभिक कल्पना।
चरण 3 - उम्मीदवार: पूर्ण कल्पना और प्रारंभिक ब्राउज़र कार्यान्वयन।
चरण 4 - समाप्त: अगले वार्षिक रिलीज में जोड़ा जाएगा
कुल मिलाकर चित्र :
preset
एबेल की शर्तों में कहा जाता है । और प्रत्येक पूर्व निर्धारित में जोखिम के विभिन्न स्तरों से प्लगइन्स शामिल हैं।preset-0
इसका मतलब है कि इसमें ऐसे फीचर्स के लिए प्लगइन्स हैं जो बहुत ही प्रायोगिक हैं और इसलिए इसे अंतिम रूप देने के उच्च जोखिम में हैं। इसका एक विचार जो एक डेवलपर के पास आया कि जावास्क्रिप्ट में एक विशेष सुविधा होनी चाहिए, और उसने इसे टीसी -39 प्रस्ताव प्रक्रिया में लाने के लिए कुछ काम किया।preset-1
इसमें TC-39 द्वारा स्वीकार किए गए फीचर विचारों के लिए प्लगइन्स शामिल हैं, और वे इसे काम करने के लायक पाते हैं।preset-2
सुविधाओं के लिए प्लगइन्स जहां सुविधा के लिए प्रारंभिक मसौदा तैयार है। और आगे बढ़ता है ।।तो यह हो सकता है कि स्टेज ० में एक फीचर कुछ समय में स्टेज २ तक पहुँच गया और अंत में जावास्क्रिप्ट के अगले रिलीज़ में कुछ और समय बाद समाप्त हो गया।
इसलिए इन बैबेल प्रीसेट के प्रत्येक संस्करण के साथ, आप इसमें प्लगइन्स के विभिन्न सेट पा सकते हैं। यह भी हो सकता है कि चरण ० में एक विशेषता कुछ बदलावों से गुज़री और इसने कैसे कार्यों में परिवर्तन किए। और यह पहुंच गया, चरण 2 को पूरी तरह से अलग एपीआई के साथ कहने देता है। इसलिए डेवलपर्स को यह सुनिश्चित करना होगा कि जब वे इन प्लगइन्स को अपडेट कर रहे हैं तो वे अपने कोड में आवश्यक बदलाव करें।
मूल प्रश्न "बाबेल-प्रीसेट-स्टेज -0, बैबल-प्रीसेट-स्टेज -1, बैबेल-प्रीसेट-स्टेज -2 और बैबेल-प्रीसेट-स्टेज -3" में क्या अंतर है, यह अजीब है कि इस अंतर पर ध्यान देने वाले उत्तर हैं TC39 चरण -०, चरण -१ के बीच .. शब्दावली "से मतदान होता है, जबकि एकमात्र प्रासंगिक (हालांकि सटीक नहीं) नीचे मतदान होता है। कोलाहल साइट से उद्धृत करने के लिए:
एक Babel प्रीसेट प्लगइन्स की एक साझा करने योग्य सूची है।
आधिकारिक बबेल स्टेज प्रीसेट ने जावास्क्रिप्ट में नए सिंटैक्स प्रस्तावों के लिए TC39 स्टेजिंग प्रक्रिया को ट्रैक किया।
प्रत्येक पूर्व निर्धारित (पूर्व चरण -3, चरण -2, आदि) में उस विशेष चरण के लिए सभी प्लगइन्स और इसके ऊपर वाले शामिल थे। उदाहरण के लिए, स्टेज -2 में स्टेज -3 शामिल है, और इसी तरह।
मूल विचार 'इसके ऊपर वाले' हैं। मैं उत्तरार्ध का उत्तर नहीं दे रहा हूं क्योंकि ऊपर दिए गए उत्तर उस हिस्से पर बहुत अच्छे हैं।
मुझे यह मिल गया है। आप लोग https://babeljs.io/docs/plugins/preset-stage-0/ का उल्लेख कर सकते हैं
एक संक्षिप्त शब्द में, preset-stage-0
सभी प्रकार की कार्यक्षमता समाहित preset-stage-1
है, और preset-stage-1
इसमें सभी प्रकार की कार्यक्षमता शामिल preset-stage-2
है और इसी तरह ...
कम अंक अधिक शक्तिशाली है। अपने प्रोजेक्ट में, यदि आप समस्याओं से परेशान नहीं हैं, तो बस सेट करें stage-0
...
stage-0
, आदि वास्तव में क्या है? चूंकि आप कहते हैं कि "निचला अंक अधिक शक्तिशाली है।", मेरा मानना है कि नहीं।
stage
साथ उलझन में है ES6
, @Rrahamham ने बताया है कि The Babel Preset which contains only ES6 features is preset-es2015
। धन्यवाद!
babel-preset-stage-0
सभी प्लग-इन में शामिल हैं, से लेकर stage-0
के लिए stage-3
। इसका मतलब है कि मैं प्रस्तावित सभी सुविधाओं को चाहता हूं, भले ही वे इसे प्रस्ताव करने के लिए बना सकें या नहीं।
stage-1
? क्या यह उपयोग करने के लिए सुरक्षित है? क्याstage-1
भविष्य में कुछ सुविधाओं को अपदस्थ किया जा सकता है और एपीआई-एस को बदल दिया गया है?