यो JavaScript को दुई मोड्यूल प्रणाली हो जसले कोडलाई फाइलहरूमा विभाजन गर्छ।
ES Modules (ESM) — आधुनिक मानक
// import / export, used in browsers and modern Node
import { sum } from ;
defaultThing ;
x = ;
() {};
यो JavaScript को दुई मोड्यूल प्रणाली हो जसले कोडलाई फाइलहरूमा विभाजन गर्छ।
// import / export, used in browsers and modern Node
import { sum } from ;
defaultThing ;
x = ;
() {};
const { sum } = require("./math");
module.exports = { x: 1 };
| ES Modules | CommonJS | |
|---|---|---|
| Syntax | import/export | require/module.exports |
| लोडिङ | static, async | गतिशील, synchronous |
| विश्लेषणयोग्य | ✅ → tree-shaking | ❌ गाह्रो |
| बाध्यतहरू | live (पढ्न-मात्र) | नकल गरिएको मान |
this शीर्षमा | undefined | module.exports |
Static को अर्थ ESM imports पार्स समयमा ज्ञात हुन्छन्, जसले bundlers लाई tree-shaking गर्न दिन्छ (प्रयोग नभएका exports हटाउनु)। CommonJS require गतिशील छ (तपाइं सशर्त require गर्न सक्नुहुन्छ), त्यसैले यसलाई विश्लेषण गर्न गाह्रो छ।
{ "type": "module" } // in package.json, or use the .mjs extension
तपाइं CommonJS बाट ESM-only प्याकेज require() गर्न सक्नुहुन्न; दुवेलाई मिश्रण गर्न गह्रो पक्ष छन्। ESM imports पनि live bindings हुन्छन् — यदि निर्यातकर्ताले मान परिवर्तन गरे, आयातकर्ताहरूले नयाँ मान देख्छन् (CJS ले तपाइंलाई snapshot प्रति दिन्छ)।
ESM भविष्य हो (browser-native, tree-shakeable, top-level await)।
नयाँ कोडको लागि यसलाई मान्यता दिनुहोस्; CJS बुझ्नुहोस् किनभने Node इकोसिस्टेमको धेरै अझै पनि यसलाई प्रयोग गर्छ।
विस्तृत उत्तरसहित IT अन्तर्वार्ता प्रश्नहरूको पुस्तकालय — जुनियरदेखि सिनियरसम्म।
दान गर्नुहोस्