0Pricing
JavaScript Academy · Ders

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ı
CommonJS temelleri — require/module.exports ve exports — resim 1

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));
CommonJS temelleri — require/module.exports ve exports — resim 2

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"));
CommonJS temelleri — require/module.exports ve exports — resim 3

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));
CommonJS temelleri — require/module.exports ve exports — resim 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));
CommonJS temelleri — require/module.exports ve exports — resim 5

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.
CommonJS temelleri — require/module.exports ve exports — resim 6

CJS dışa aktarma söz dizimi testi

Hızlı kontrol: CommonJS'te dışa aktarma.

CommonJS temelleri — require/module.exports ve exports — resim 7

Ö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.

CommonJS temelleri — require/module.exports ve exports — resim 8

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

  1. ESM temelleri — import/export, varsayılan ve adlandırılmış
  2. CommonJS temelleri — require/module.exports ve exports
  3. Node ve tarayıcı paketleyicilerinde modül çözümleme
← JavaScript Academy Sayfasına Dön