2016-01-03 22 views
5

मैं ES2015 की निर्यात सुविधा सीख रहा हूं। मैं इसे ऑनलाइन समझने की कोशिश की लेकिन मेरे संदेह अभी भीES2015 फ़ंक्शन के अंदर निर्यात

का समाधान नहीं कर रहे हैं जब मैं एक गुमनाम समारोह के अंदर निर्यात की घोषणा, JSHint शो त्रुटि निम्नलिखित (कम से कम Intellij प्लगइन के अंदर):

E053 निर्यात घोषणा वैश्विक क्षेत्र में होना चाहिए।

इसके विपरीत, जेएसहिंट हमेशा बेनामी फ़ंक्शन के अंदर पूरे कोड को लपेटने के लिए कहता है। अगर मैं निम्नलिखित तरीके से कोड लिखता हूं:

export const MY_CONSTANT = 1000; 
(function(){ 
    'use strict'; 
    //Complete code goes here 
}(); 

हमें पृष्ठ के शीर्ष और निचले हिस्से में बहुत सारे कोड लिखना है। कुछ कोड फ़ाइल के बीच से पृष्ठ के आरंभ (या अंत) तक कूद जाएंगे।

उत्तर

1

सबसे अच्छा तरीका मैं इसे समझा सकता हूं जावास्क्रिप्ट आईआईएफई encapsulation बनाने का तरीका था। आप अपने मॉड्यूल का कोड एक के अंदर रखेंगे और किसी प्रकार का ऑब्जेक्ट और ऑब्जेक्ट रखेंगे। यदि आपको इसमें कोड आयात करने की आवश्यकता है तो आप तर्क के साथ ऐसा करेंगे। नया मॉड्यूल सिंटैक्स आपको एक अलग फैशन में ऐसा करने देता है। आईआईएफई के तर्क और रिटर्न के रूप में निर्यात के रूप में आयात के बारे में सोचें। मोज़िला https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

से आयात निर्यात वाक्यविन्यास के लिए पूर्ण स्पष्टीकरण यहां दिया गया है और अधिक यदि आप और अधिक खोजना चाहते हैं तो मैंने कुछ बॉयलरप्लेट बनाया है जो बेबेल, गल्प, ब्राउजरिफ़ और जैस्मीन का उपयोग करता है, इसलिए मैं अपना पूरा कोड आगे बढ़ सकता हूं es2015। https://github.com/jamesrhaley/es2015-babel-gulp-jasmine.git

0

यदि आप ES2015 मॉड्यूल सिंटैक्स का उपयोग कर रहे हैं तो आपको संभवतया एक अज्ञात फ़ंक्शन में अपना कोड लपेटने की आवश्यकता नहीं है क्योंकि मॉड्यूल लोडर को कौन सा कोड निर्यात किया जाता है।

मुझे प्रत्येक मॉड्यूल लोडर के बारे में निश्चित नहीं है लेकिन टाइपस्क्रिप्ट + ब्राउजरिफ़ाई का उपयोग करते समय, प्रत्येक फ़ाइल वैश्विक नामस्थान को छेड़छाड़ करने वाले चर को रोकने के लिए लपेट जाती है। मॉड्यूल सिंटैक्स के साथ काम करने के तरीके के बारे में अधिक जानकारी के लिए Why must export import declarations be on top level in es2015 देखें और क्यों चर वैश्विक रूप से घोषित किए जा सकते हैं।

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