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

जावास्क्रिप्ट में बनाम आयात की आवश्यकता है

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

require Vs import In JavaScript

मुझे याद है कि जब मैंने कोडिंग शुरू की थी तो मैं मॉड्यूल और आयात का उपयोग करके अन्य फ़ाइलों को आयात करने के लिए require() का उपयोग करके कुछ js फ़ाइलें देखता था। इसने मुझे हमेशा भ्रमित किया क्योंकि मुझे वास्तव में समझ नहीं आया कि अंतर क्या था या परियोजनाओं में असंगतता क्यों थी। यदि आप भी यही सोच रहे हैं, तो पढ़ना जारी रखें!

कॉमनजेएस क्या है?

CommonJS मानकों का एक सेट है जिसका उपयोग सर्वर-साइड जावास्क्रिप्ट, मुख्य रूप से Node.js वातावरण में मॉड्यूल को लागू करने के लिए किया जाता है। इस प्रणाली में, मॉड्यूल को समकालिक रूप से लोड किया जाता है, जिसका अर्थ है कि मॉड्यूल लोड होने तक स्क्रिप्ट निष्पादन अवरुद्ध है। यह एक सीधा दृष्टिकोण बनाता है, लेकिन यदि आप अलग-अलग मॉड्यूल के समूह में लोड करने का प्रयास कर रहे हैं तो नकारात्मक पक्ष एक प्रदर्शन हिट है क्योंकि कुछ भी चलाने से पहले उन्हें एक के बाद एक लोड करना होगा।

कॉमनजेएस का उपयोग करते समय आप कार्यक्षमता निर्यात करने के लिए मॉड्यूल.एक्सपोर्ट का उपयोग करेंगे और इसे आयात करने के लिए require() का उपयोग करेंगे।

यह कोड में कैसा दिखेगा इसका एक उदाहरण यहां दिया गया है।

// In file multiple.js

module.exports = function multiply(x, y) {
    return x * y;
};
// In file main.js

const multiply = require(‘./multiply.js’);

console.log(multiply(5, 4)); // Output: 20

ECMAस्क्रिप्ट (ES6) क्या है?

ES6, जिसे ईसीएमएस्क्रिप्ट के रूप में भी जाना जाता है, जावास्क्रिप्ट का एक नया संस्करण है जिसे 2015 में जारी किया गया था। इस रिलीज के साथ आयात और निर्यात विवरणों का उपयोग करके अतुल्यकालिक रूप से मॉड्यूल आयात करने की क्षमता आई। इसका मतलब यह है कि आप जो स्क्रिप्ट चला रहे हैं वह मॉड्यूल लोड होने के दौरान निष्पादित होती रह सकती है ताकि कोई बाधा न हो। यह ट्री-शेकिंग नामक एक दक्षता की भी अनुमति देता है जिसे मैं बाद की पोस्ट में शामिल करूंगा, लेकिन मूल रूप से, इसका मतलब है कि आप केवल उस मॉड्यूल से जावास्क्रिप्ट लोड करते हैं जिसका आप उपयोग कर रहे हैं और डेड-कोड (कोड का उपयोग नहीं किया जा रहा है) लोड नहीं किया गया है ब्राउज़र में. यह सब संभव है क्योंकि ES6 स्थिर और गतिशील दोनों आयातों का समर्थन करता है।

यहां पहले का वही उदाहरण है लेकिन इस बार हम आयात और निर्यात का उपयोग कर रहे हैं।

// In file multiply.js

export const multiply = (x, y) => x * y;
// In file main.js

import { multiply } from ‘./multiply.js’;

console.log(multiply(5, 4)); // Output: 20

मुख्य अंतर: आवश्यकता बनाम आयात

require() CommonJS मॉड्यूल सिस्टम का हिस्सा है जबकि आयात ES6 मॉड्यूल सिस्टम का हिस्सा है। आप सर्वर-साइड विकास के लिए Node.js वातावरण में require() का उपयोग देखेंगे, मुख्य रूप से उन विरासत परियोजनाओं पर जिन्होंने अभी तक ES6 को नहीं अपनाया है। आप सर्वर-साइड और फ्रंटएंड डेवलपमेंट, विशेष रूप से नई परियोजनाओं और रिएक्ट या वीयू जैसे किसी भी फ्रंटएंड फ्रेमवर्क के साथ आयात का उपयोग देखेंगे।

आयात आवश्यकता से बेहतर क्यों है?

जैसा कि हमने पहले बताया, आयात अतुल्यकालिक है, जिससे बेहतर प्रदर्शन हो सकता है, खासकर बड़े अनुप्रयोगों में। इसके अलावा, चूंकि आयात का सांख्यिकीय रूप से विश्लेषण किया जा सकता है, लिंटर और बंडलर जैसे उपकरण कोड को अधिक प्रभावी ढंग से अनुकूलित कर सकते हैं और ट्री शेकिंग को लागू कर सकते हैं जिससे बंडल आकार छोटे होते हैं और लोड समय तेज होता है। सिंटैक्स को require() की तुलना में पढ़ना भी आसान है जो एक बेहतर डेवलपर अनुभव प्रदान करता है, और हम सभी यही चाहते हैं!

आप आवश्यकता बनाम आयात का उपयोग कब करेंगे

आप require() का उपयोग तब करेंगे जब:

  • आप एक विरासती Node.js प्रोजेक्ट पर काम कर रहे हैं जो ES6 के आने से पहले शुरू किया गया था और अपडेट नहीं किया गया है।

  • आपको रनटाइम पर मॉड्यूल को गतिशील रूप से लोड करने की आवश्यकता है, जैसे कॉन्फ़िगरेशन फ़ाइल में, या यदि आपको सशर्त रूप से मॉड्यूल लोड करने की आवश्यकता है।

आप आयात का उपयोग तब करेंगे जब:

  • कोई अन्य समय, क्योंकि यह अब मानक है और अधिक कुशल है।

सारांश

सामान्य तौर पर, जब भी संभव हो आयात का उपयोग करने की अनुशंसा की जाती है, क्योंकि यह अधिक लाभ प्रदान करता है और नया, अधिक व्यापक रूप से अपनाया गया मॉड्यूल सिस्टम है। हालाँकि, ऐसे मामले भी हो सकते हैं जहां आपकी विशिष्ट आवश्यकताओं और आप जिस वातावरण में काम कर रहे हैं, उसके आधार पर require() अभी भी बेहतर विकल्प है।

यदि आपको यह लेख उपयोगी लगा, तो मेरे न्यूज़लेटर की सदस्यता लें, जहां मैं साप्ताहिक आधार पर इस तरह की और सामग्री सीधे आपके इनबॉक्स में भेजूंगा!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/travislramos/require-vs-import-in-javascript-1ah4?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3