"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं वेरिएबल्स के आधार पर ES6 में गतिशील रूप से मॉड्यूल कैसे आयात कर सकता हूं?

मैं वेरिएबल्स के आधार पर ES6 में गतिशील रूप से मॉड्यूल कैसे आयात कर सकता हूं?

2024-11-06 को प्रकाशित
ब्राउज़ करें:999

How Can I Import Modules Dynamically in ES6 Based on Variables?

वेरिएबल-अवेयर ईएस6 आयात

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

स्थैतिक आयात

दुर्भाग्य से, ES6 में आयात विवरण का सांख्यिकीय रूप से विश्लेषण किया जाता है। इसका मतलब यह है कि आयात किए जा रहे मॉड्यूल को संकलन समय पर जाना जाना चाहिए। इसलिए, आप आयात करने के लिए मॉड्यूल निर्दिष्ट करने के लिए परिवर्तनीय नामों का उपयोग नहीं कर सकते।

लोडर एपीआई

मॉड्यूल को गतिशील रूप से लोड करने के लिए, आपको लोडर एपीआई का उपयोग करने की आवश्यकता है। यह एपीआई System.import() नामक एक फ़ंक्शन प्रदान करता है जो लोड किए जाने वाले मॉड्यूल को निर्दिष्ट करने वाली एक स्ट्रिंग स्वीकार करता है। निम्नलिखित उदाहरण दिखाता है कि आप एक वैरिएबल नाम के आधार पर मॉड्यूल को लोड करने के लिए इसका उपयोग कैसे कर सकते हैं:

System.import('./utils/'   variableName).then(function(module) {
  console.log(module);
});

System.import() फ़ंक्शन एक वादा लौटाता है जो लोड किए गए मॉड्यूल को हल करता है। फिर आप मॉड्यूल ऑब्जेक्ट का उपयोग करके मॉड्यूल के निर्यातित सदस्यों तक पहुंच सकते हैं।

संगतता संबंधी विचार

लोडर एपीआई आधुनिक ब्राउज़र और Node.js में समर्थित है। हालाँकि, पुराने ब्राउज़र के साथ अनुकूलता प्राप्त करने के लिए आपको पॉलीफ़िल का उपयोग करने की आवश्यकता हो सकती है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3