2015-09-26 29 views
11

मैं इस ओवरराइटिंग फ़ंक्शन को कैसे निर्यात कर सकता हूं ताकि एक आयात मॉड्यूल जांच सके कि फ़ंक्शन को कॉल किया गया है या नहीं?ES6 निर्यात ओवरराइटिंग फ़ंक्शन

// util.js 
export function isPageload() { 
    return (!!(isPageload = function() { return false; })); 
} 

जब मैं संकलन है कि कोलाहल के साथ, मैं इस त्रुटि मिलती है:

var isPageload = function() { 
    return (!!(isPageload = function() { return false; })); 
} 

console.log(isPageload()); // true 
console.log(isPageload()); // false 
+0

'लोड = झूठी;' फिर 'लोड = सही;' फ़ंक्शन बॉडी में। – zerkms

+0

अधिक बार, आप इसे क्यों लिखेंगे? आपको अपने निर्यात में एक ही फ़ंक्शन नाम की आवश्यकता क्यों है? –

+0

@ माइक'पोमैक्स 'कमरमैन वर्तमान वाक्यविन्यास निर्यात को एक फ़ंक्शन के रूप में अपडेट करेगा जो मूल कार्य की बजाय झूठी लौटाता है, बस ES5 संस्करण की तरह। – loganfsmyth

उत्तर

26

.default त्रुटि में यह स्पष्ट करता है कि आप कर रहे हैं:

Uncaught TypeError: (0 , _util2.default) is not a function 

यहाँ ES5 बराबर है

import isPageload from 'foo'; 

जब आप शायद चाहते

import {isPageload} from 'foo'; 

के बाद से
export function isPageload() { 

एक नामित निर्यात, नहीं एक डिफ़ॉल्ट निर्यात, और डिफ़ॉल्ट निर्यात currently does not work in Babel अद्यतन करने को लाइव बाध्यकारी पैदा करता है।

हालांकि इस समस्या का आपका दृष्टिकोण कुछ हद तक चौराहे प्रतीत होता है। क्यों नहीं

+0

हाँ, लापता ब्रैकेट ने चाल की थी। व्याख्या करने के लिए धन्यवाद। – cantera

+1

यह सोना है। धन्यवाद। – shongololo

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