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

जावास्क्रिप्ट में कॉमनजेएस (सीजेएस) बनाम ईसीएमएस्क्रिप्ट मॉड्यूल (ईएसएम)।

2024-08-01 को प्रकाशित
ब्राउज़ करें:770

CommonJS (CJS) vs ECMAScript Modules (ESM) in JavaScript

जावास्क्रिप्ट मॉड्यूल कोड को व्यवस्थित करने, पुन: प्रयोज्यता को बढ़ाने और अनुप्रयोगों की रखरखाव में सुधार करने में महत्वपूर्ण भूमिका निभाते हैं। व्यापक रूप से उपयोग किए जाने वाले दो प्राथमिक मॉड्यूल सिस्टम कॉमनजेएस (सीजेएस) और ईसीएमएस्क्रिप्ट मॉड्यूल (ईएसएम) हैं। उनके अंतरों और क्षमताओं को समझना आपकी परियोजनाओं में उनका प्रभावी ढंग से लाभ उठाने की कुंजी है।


कॉमनजेएस (सीजेएस)

CommonJS मॉड्यूल सिस्टम है जो मूल रूप से Node.js वातावरण के लिए डिज़ाइन किया गया है। यह मॉड्यूल की सरलता और समकालिक लोडिंग पर जोर देता है।

कॉमनजेएस निर्यात/आयात मॉड्यूल

कॉमनजेएस में मॉड्यूल मूल्यों, वस्तुओं या कार्यों को निर्यात करने के लिए मॉड्यूल.एक्सपोर्ट का उपयोग करते हैं।

1. डिफ़ॉल्ट निर्यात/आयात

// logger.js
function log(message) {
    console.log(message);
}

module.exports = log; // Default export

// index.js
const log = require('./logger');

log('This is a log message.'); // Output: This is a log message.

2. नामित निर्यात/आयात

// math.js
function add(a, b) {
    return a   b;
}

function subtract(a, b) {
    return a - b;
}

module.exports = { add, subtract }; // Named exports

// index.js
const { add, subtract } = require('./math');

console.log(add(5, 3)); // Output: 8
console.log(subtract(5, 3)); // Output: 2

ईसीएमएस्क्रिप्ट मॉड्यूल (ईएसएम)

ईएस6 (ईएस2015) में पेश किया गया ईएसएम, जावास्क्रिप्ट के लिए मानकीकृत मॉड्यूल प्रणाली है। यह सिंक्रोनस और एसिंक्रोनस मॉड्यूल लोडिंग दोनों का समर्थन करता है और आधुनिक ब्राउज़रों और कुछ कॉन्फ़िगरेशन के साथ Node.js में मूल रूप से समर्थित है।

ईसीएमएस्क्रिप्ट निर्यात मॉड्यूल

ईएसएम मूल्यों, वस्तुओं या कार्यों को निर्यात करने के लिए निर्यात विवरण का उपयोग करता है।

1. डिफ़ॉल्ट निर्यात/आयात

// utils.mjs (Note the .mjs extension for ESM)
function formatName(name) {
    return `Mr./Ms. ${name}`;
}

export default formatName;

// index.mjs
import formatName from './utils.mjs';

console.log(formatName('John')); // Output: Mr./Ms. John

2. नामित निर्यात

// operations.mjs
export function multiply(a, b) {
    return a * b;
}

export function divide(a, b) {
    return a / b;
}

// index.mjs
import { multiply, divide } from './operations.mjs';

console.log(multiply(4, 2)); // Output: 8
console.log(divide(10, 2)); // Output: 5

3. ईसीएमएस्क्रिप्ट मॉड्यूल में मिश्रित निर्यात शैलियाँ

// mixedExports.mjs
function greet(name) {
    return `Hello, ${name}!`;
}

export default greet;

export function goodbye(name) {
    return `Goodbye, ${name}!`;
}

// index.mjs
import sayHello, { goodbye } from './mixedExports.mjs';

console.log(sayHello('Alice')); // Output: Hello, Alice!
console.log(goodbye('Bob')); // Output: Goodbye, Bob!


कॉमनजेएस और ईएसएम के बीच मुख्य अंतर

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

अनुकूलता और उपयोग

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

निष्कर्ष

कॉमनजेएस और ईसीएमएस्क्रिप्ट मॉड्यूल के बीच चयन करना आपके प्रोजेक्ट के वातावरण और आवश्यकताओं पर निर्भर करता है। जबकि CommonJS Node.js बैकएंड विकास के लिए मजबूत है, ESM ब्राउज़र और आधुनिक Node.js अनुप्रयोगों में इंटरऑपरेबिलिटी प्रदान करता है। इन मॉड्यूल सिस्टम को समझना डेवलपर्स को जावास्क्रिप्ट की मॉड्यूलर क्षमताओं का प्रभावी ढंग से उपयोग करने के लिए तैयार करता है।

कॉमनजेएस या ईएसएम का लाभ उठाकर, डेवलपर्स कोड संगठन को बढ़ा सकते हैं, प्रोजेक्ट स्केलेबिलिटी में सुधार कर सकते हैं और जावास्क्रिप्ट परियोजनाओं में सहयोग की सुविधा प्रदान कर सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/rahulvijayvergiya/commonjs-cjs-vs-ecmascript-modules-esm-in-javascript-369c?1 यदि कोई उल्लंघन है, तो कृपया हटाने के लिए स्टडी_गोलंग@163.com पर संपर्क करें यह
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3