अप्रत्याशित टोकन निर्यात: ES6 मॉड्यूल समर्थन को अपनाना
ES6 कोड को चलाने का प्रयास करते समय "अप्रत्याशित टोकन निर्यात" त्रुटि का सामना करना एक उलझन भरा हो सकता है मुद्दा। यह त्रुटि तब उत्पन्न होती है जब रनटाइम वातावरण में आपके द्वारा उपयोग किए जा रहे एक्मास्क्रिप्ट मॉड्यूल (ईएसएम) सिंटैक्स के लिए समर्थन का अभाव होता है।
ईएसएम को समझना:
ईएसएम, जिसे अक्सर "कहा जाता है" ES6 मॉड्यूल" ने जावास्क्रिप्ट के लिए एक मॉड्यूल सिस्टम पेश किया, जो कोड एनकैप्सुलेशन और आसान निर्भरता प्रबंधन को सक्षम बनाता है। यह मॉड्यूल को परिभाषित करने के लिए निर्यात कीवर्ड का उपयोग करता है, जिससे कोड संगठन अधिक स्पष्ट हो जाता है। कॉमनजेएस मॉड्यूल पर, जो मॉड्यूल.एक्सपोर्ट प्रॉपर्टी सिंटैक्स का उपयोग करता है। हालाँकि, नए NodeJS संस्करण (v14.13.0 और ऊपर) ESM का समर्थन करते हैं, बशर्ते यह स्पष्ट रूप से सक्षम हो।
समाधान:
NodeJS में ESM सक्षम करें (v14) .13.0 ):अपने प्रोजेक्ट की package.json फ़ाइल संपादित करें और "प्रकार" प्रॉपर्टी को "मॉड्यूल" पर सेट करें:
{ ... "प्रकार": "मॉड्यूल", ... }
CommonJS मॉड्यूल सिंटैक्स के साथ रिफैक्टर:{ ... "type": "module", ... }
// उदाहरण ES6 मॉड्यूल निर्यात वर्ग MyClass { कंस्ट्रक्टर() { कंसोल.लॉग('es6'); } } // कॉमनजेएस मॉड्यूल समकक्ष मॉड्यूल.एक्सपोर्ट्स = क्लास मायक्लास { कंस्ट्रक्टर() { कंसोल.लॉग("commonJs"); } };
टाइपस्क्रिप्ट और टीएस-नोड का उपयोग करें:// Example ES6 module export class MyClass { constructor() { console.log("es6"); } } // CommonJS module equivalent module.exports = class MyClass { constructor() { console.log("commonJs"); } };
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3