0Pricing
JavaScript Academy · Lektion

CommonJS-Grundlagen – require/module.exports und exports

CommonJS kennenlernen: require(), module.exports, die Kurzform exports und einen kleinen Einblick in die Interoperabilität mit ESM

CommonJS-Grundlagen – require/module.exports und exports ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

CJS: Überblick

Ziel: Lesen und schreiben Sie kleine CommonJS-Module.

  • require() lädt Module
  • module.exports ist das Exportobjekt
  • exports ist eine Abkürzung für dasselbe Objekt
  • Kurzer Einblick in die ESM-Interoperabilität
CommonJS-Grundlagen – require/module.exports und exports — Illustration 1

require() — Grundidee

require(path) gibt in CommonJS das exportierte Objekt des Moduls zurück.

// 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-Grundlagen – require/module.exports und exports — Illustration 2

module.exports

Weisen Sie module.exports einen Wert zu, um ihn zu exportieren (Funktion, Objekt usw.).

// 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-Grundlagen – require/module.exports und exports — Illustration 3

Abkürzung exports

exports.prop = ... ist in Ordnung; weisen Sie exports = ... nicht neu zu, da es dann nicht mehr auf module.exports verweist.

// 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-Grundlagen – require/module.exports und exports — Illustration 4

Mehrere Exporte

Sie können ein Objekt mit vielen Funktionen exportieren und über dessen Eigenschaften darauf zugreifen.

// 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-Grundlagen – require/module.exports und exports — Illustration 5

ESM ↔ CJS im Überblick

Interoperabilität (Geschmackssache):

  • Beim Importieren von CJS in ESM erhalten Sie häufig das CJS-module.exports als default.
  • Beispiel: import pkg from "./cjs.js" und anschließend pkg.add() verwenden.
  • Halten Sie Beispiele einfach; vermeiden Sie es, Stile in einer Datei zu mischen, sofern es nicht erforderlich ist.
CommonJS-Grundlagen – require/module.exports und exports — Illustration 6

Quiz zur CJS-Exportsyntax

Kurztest: Export in CommonJS.

CommonJS-Grundlagen – require/module.exports und exports — Illustration 7

Zusammenfassung

Zusammenfassung: Laden Sie mit require(), exportieren Sie mit module.exports, fügen Sie Eigenschaften über exports.prop hinzu und vermeiden Sie die Neuzuweisung von exports. Bei der ESM-Interoperabilität wird CJS-module.exports häufig einem Defaultexport zugeordnet.

CommonJS-Grundlagen – require/module.exports und exports — Illustration 8

Häufig gestellte Fragen

Ist die Lektion „CommonJS-Grundlagen – require/module.exports und exports“ kostenlos?

Ja — der vollständige Text von „CommonJS-Grundlagen – require/module.exports und exports“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „CommonJS-Grundlagen – require/module.exports und exports“?

CommonJS kennenlernen: require(), module.exports, die Kurzform exports und einen kleinen Einblick in die Interoperabilität mit ESM Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um JavaScript Academy zu starten?

Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.

Wie lange dauert die Lektion „CommonJS-Grundlagen – require/module.exports und exports“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. ESM-Grundlagen – import/export, default vs. named
  2. CommonJS-Grundlagen – require/module.exports und exports
  3. Modulauflösung in Node und Browser-Bundlern
← Zurück zu JavaScript Academy