`नोड - शर्मिंदगी` क्या करता है?


180

नोड एप्लिकेशन को एक सद्भाव ध्वज के साथ नोड चलाने के लिए आवश्यक है, जैसे:

node --harmony app.js

यह सद्भाव ध्वज क्या है? यह क्या करता है और ऐप इसके बिना क्यों नहीं चल सकता है?

मैंने नोड कमांड-लाइन विकल्प ( node --help) में देखने की कोशिश की है , लेकिन यह कोई भी विवरण प्रदान नहीं करता है। नोड डॉक्स किसी भी मदद के नहीं थे।

जवाबों:


135

टाइपिंग man nodeमें यह सद्भाव ध्वज पर है:

 --harmony_typeof (enable harmony semantics for typeof)
       type: bool  default: false
 --harmony_scoping (enable harmony block scoping)
       type: bool  default: false
 --harmony_modules (enable harmony modules (implies block scoping))       
        type: bool  default: false
 --harmony_proxies (enable harmony proxies)       
        type: bool  default: false
 --harmony_collections (enable harmony collections  (sets,  maps,  andweak maps))
       type: bool  default: false 
 --harmony (enable all harmony features (except typeof))
       type: bool  default: false

तो इस ब्लॉग पोस्ट से --harmonyसभी सद्भाव सुविधाओं (जैसे --harmony_scoping, --harmony_proxiesआदि) को सक्षम करने के लिए एक शॉर्टकट है , ऐसा लगता है कि सद्भाव भाषा में नए ECMAScript 6 सुविधाओं को सक्षम करता है। आपकी फ़ाइल बिना सामंजस्य के नहीं चलेगी इसका कारण यह है कि शायद नए ECMAScript 6 मानक (जैसे ब्लॉक स्कूपिंग, परदे के पीछे, सेट, नक्शे, आदि) से गैर-पिछड़ी संगत सुविधाओं का उपयोग कर रहा है।app.js


59
यह उल्लेखनीय है कि सद्भाव नए ECMAscript के लिए प्रयुक्त नाम है । सद्भाव नाम स्थान में ऐसी विशेषताएं हैं जो उस भाषा के लिए प्रस्ताव हैं
आईस

1
आपका बहुत बहुत धन्यवाद! अब सब समझ आ रहा है। Btw। किसी भी विचार क्या man nodeविंडोज में बराबर है ? :)
२२:२२

3
@jsalonen एक नहीं है, लेकिन आप > node --v8-optionsयहाँ संदर्भित सामान पाने के लिए क्या कर सकते हैं
eis

विंडोज में @eis का उपयोग करने --help(या -h) का एक सम्मेलन है ; यह अधिकांश कंसोल प्रोग्राम के साथ काम करता है, इसलिए node -hकाम करता है, भले ही एक विशिष्ट मैन कमांड न हो। लेकिन 'डॉस' के लिए खुद को आज्ञा नहीं देता; उन आप कर सकते हैं के लिए help dir, help setआदि साई।
जॉन कोम्ब्स

@JonCoombs मुझे लगता /?है कि पुराने "डॉस" कमांड के साथ अधिक उपयोग किया जाता है। लेकिन वैसे भी एक मानक नहीं है, मुझे नहीं लगता कि मैंने उदाहरण के लिए -hज्यादा इस्तेमाल किया है।
eis

10

यदि आप नोडज के पुराने संस्करण में ईसीएमएस्क्रिप्ट 6 सुविधाएँ चलाना चाहते हैं, तो आप --हार्मनी ध्वज का उपयोग कर सकते हैं। नोड का नवीनतम संस्करण ES6 का समर्थन करता है, इसलिए - धर्म-ध्वज की कोई आवश्यकता नहीं है



4

जैसा कि नोड डॉक्यूमेंटेशन में उल्लेख किया गया है, - धर्म ध्वज गैर स्थिर, लेकिन जल्द ही ईएस 6 की स्थिर विशेषताएं सक्षम करता है

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


0

सभी ECMAScript 2015 (ES6) सुविधाओं को शिपिंग, मंचन और प्रगति सुविधाओं के लिए तीन समूहों में विभाजित किया गया है:

  • सभी शिपिंग सुविधाएँ , जिन्हें V8 स्थिर मानता है, को Node.js पर डिफ़ॉल्ट रूप से चालू किया जाता है और किसी भी प्रकार के रनटाइम ध्वज की आवश्यकता नहीं होती है।

  • चरणबद्ध सुविधाएँ , जो लगभग पूरी हो चुकी सुविधाएँ हैं जिन्हें V8 टीम द्वारा स्थिर नहीं माना जाता है, उन्हें एक रनवे ध्वज की आवश्यकता होती है: - सामंजस्य

  • प्रगति की विशेषताओं में उनके संबंधित सद्भाव ध्वज द्वारा व्यक्तिगत रूप से सक्रिय किया जा सकता है, हालांकि परीक्षण उद्देश्यों के लिए यह बहुत हतोत्साहित किया जाता है। नोट: ये झंडे V8 द्वारा उजागर किए गए हैं और संभावित रूप से बिना किसी अपक्षय सूचना के बदल जाएंगे।

स्रोत : https://nodejs.org/en/docs/es6/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.