CommonJS temelleri — require/module.exports ve exports
CommonJS'i öğrenin: require(), module.exports, exports kısayolu ve ESM ile küçük bir birlikte çalışma örneği.
CommonJS temelleri — require/module.exports ve exports, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 3 dersten oluşur.
CJS: genel bakış
Amaç: Küçük CommonJS modüllerini okuyup yazmak.
- require() modülleri yükler
- module.exports dışa aktarma nesnesidir
- exports aynı nesne için bir kısayoldur
- Kısa ESM birlikte çalışabilirlik karşılaştırması

require() — fikir
require(path), CommonJS'te modülün dışa aktarılan nesnesini döndürür.
// CommonJS import uses require()
const cjsExample = [
"const math = require(\\"./math.js\\");",
"console.log(math.sum(2, 3));"
];
console.log("require() example:");
for (const line of cjsExample) console.log(line);
// Emulate a loaded module object
const loaded = { sum: function (a, b) { return a + b; } };
console.log("emulated require sum:", loaded.sum(2, 3));
module.exports
Bir değeri dışa aktarmak için module.exports'a atayın (işlev, nesne vb.).
// module.exports sets what the module returns
const lines1 = [
"function greet(name) { return \\"Hi \\" + name; }",
"module.exports = greet;"
];
console.log("module.exports example:");
for (const l of lines1) console.log(l);
// Emulate consumption
function greet(name) { return "Hi " + name; }
const api1 = greet; // like module.exports = greet
console.log("use exported fn:", api1("Ayla"));
exports kısayolu
exports.prop = ... kullanabilirsiniz; exports = ... yeniden atamasını yapmayın, çünkü artık module.exports'a işaret etmez.
// exports is a shortcut to module.exports (same object)
const lines2 = [
"// Good: add properties",
"exports.sum = function (a, b) { return a + b; };",
"",
"// Pitfall: reassigning exports breaks the link",
"exports = function () {}; // WRONG"
];
console.log("exports shortcut:");
for (const l of lines2) console.log(l);
// Emulate good usage
const moduleObj = {};
const exportsRef = moduleObj; // like exports === module.exports initially
exportsRef.sum = function (a, b) { return a + b; };
console.log("sum via exportsRef:", moduleObj.sum(2, 4));
Birden çok dışa aktarım
Birçok işlevi barındıran bir nesneyi dışa aktarabilir ve bunları özellikleri aracılığıyla okuyabilirsiniz.
// Export an object with multiple members
const lines3 = [
"function add(a, b) { return a + b; }",
"function mul(a, b) { return a * b; }",
"module.exports = { add, mul };"
];
console.log("multiple exports object:");
for (const l of lines3) console.log(l);
// Emulate consumption
const api2 = {
add: function (a, b) { return a + b; },
mul: function (a, b) { return a * b; }
};
console.log("use add/mul:", api2.add(1, 2), api2.mul(2, 3));
ESM ↔ CJS birlikte çalışabilirliği
Birlikte çalışabilirlik (kısa karşılaştırma):
- ESM, CJS'yi içe aktardığında genellikle CJS module.exports değerini varsayılan olarak alır.
- Örnek: import pkg from "./cjs.js" ve ardından pkg.add() kullanın.
- Örnekleri basit tutun; zorunlu olmadıkça tek bir dosyada stilleri karıştırmayın.

CJS dışa aktarma söz dizimi testi
Hızlı kontrol: CommonJS'te dışa aktarma.

Özet
Özet: require() ile yükleyin, module.exports ile dışa aktarın, exports.prop ile özellikler ekleyin ve exports'u yeniden atamaktan kaçının. ESM birlikte çalışabilirliği çoğu zaman CJS module.exports değerini varsayılanla eşler.

Sıkça Sorulan Sorular
“CommonJS temelleri — require/module.exports ve exports” dersi ücretsiz mi?
Evet — “CommonJS temelleri — require/module.exports ve exports” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 3 dersten oluşur.
“CommonJS temelleri — require/module.exports ve exports” dersinde ne öğreneceğim?
CommonJS'i öğrenin: require(), module.exports, exports kısayolu ve ESM ile küçük bir birlikte çalışma örneği. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.
“CommonJS temelleri — require/module.exports ve exports” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- ESM temelleri — import/export, varsayılan ve adlandırılmış
- CommonJS temelleri — require/module.exports ve exports
- Node ve tarayıcı paketleyicilerinde modül çözümleme