बेबेल के साथ प्रतिक्रिया करें। मुझे आयात और मॉड्यूल.एक्सपोर्ट्स के साथ यह भ्रम है। ईएस 6 कोड को ईएस 5 में परिवर्तित करते समय मैं बेबेल मानता हूं आयात और निर्यात क्रमशः आवश्यक और मॉड्यूल.एक्सपोर्ट को परिवर्तित करता है।मॉड्यूल.एक्सपोर्ट्स और ईएस 6 आयात
यदि मैं एक मॉड्यूल से फ़ंक्शन निर्यात करता हूं और फ़ंक्शन को किसी अन्य मॉड्यूल में आयात करता हूं, तो कोड ठीक से निष्पादित होता है। लेकिन अगर मैं मॉड्यूल.एक्सपोर्ट्स के साथ फ़ंक्शन निर्यात करता हूं और "आयात" का उपयोग करके आयात करता हूं तो रनटाइम पर त्रुटि फेंक दी जाती है कि यह एक फ़ंक्शन नहीं है।
मैंने एक उदाहरण पकाया।
// Tiger.js
function Tiger() {
function roar(terrian){
console.log('Hey i am in ' + terrian + ' and i am roaing');
};
return roar;
}
module.exports = Tiger;
// animal.js
import { Tiger } from './animals';
var animal = Tiger();
animal("jungle");
मैंने इसे प्रीसेट करने के लिए प्रीसेट es2015 के साथ बेबेल का उपयोग किया। यह मैं निम्नलिखित त्रुटि
Uncaught TypeError: (0 , _animals.Tiger) is not a function
देता है लेकिन अगर मैं module.exports = Tiger;
हटाने और export { Tiger };
साथ बदलें यह ठीक काम करता है।
मुझे यहाँ क्या याद आ रही है ??
संपादित करें: मैं मॉड्यूल बंडलर के रूप में ब्राउज़र को उपयोग कर रहा हूं।
क्या आपने बेबेल आउटपुट देखा है? 'टाइगर.जेएस' के पारदर्शी स्रोत को देखते हुए आपको तुरंत बताएगा कि यह क्यों काम नहीं कर रहा है। लंबी कहानी छोटी: एक मॉड्यूल सिस्टम के साथ चिपकें या वेबपैक जैसे मॉड्यूल बंडलर का उपयोग करें जो असंगतताओं का ख्याल रखेगा। – GJK
उल्लेख करने के लिए खेद है कि मैं मॉड्यूल बंडलर – Nani