CommonJS-Module
Teil des Abschnitts Node.js-Grundlagen der Node.js-Journey von Coddy. Lektion 9 von 24.
Ein großer Teil des Node-Codes, den du in npm-Paketen und älteren Tutorials lesen wirst, verwendet ein anderes Modulsystem.
CommonJS exportiert mit module.exports und importiert mit require. Node führt es weiterhin in Dateien aus, deren Namen auf .cjs enden, und ein import einer solchen Datei liefert dir das module.exports-Objekt als Standardwert:
// greet.cjs
function hello(name) {
return 'Hello, ' + name;
}
module.exports = { hello };
// app.js
import greet from './greet.cjs';
console.log(greet.hello('Ada'));exports ist anfangs dasselbe Objekt wie module.exports. exports.hello = hello fügt etwas hinzu; exports = { hello } ersetzt die Variable, und der Import erhält ein leeres Objekt.
Aufgabe
Einfach- Vervollständige
countWords(notes)inlegacy/stats.cjs: wie viele Wörter die Notizen insgesamt enthalten. - Importiere es mit
import stats from './legacy/stats.cjs'innotes.js. - Ein
stats-Befehl gibt3 notes, 7 wordsaus.
Führe node notes.js stats aus. Füge dann mit add eine Notiz hinzu und führe erneut stats aus: weiterhin 3, da noch nichts gespeichert wird.
Probier es selbst
// Ein älteres Modul, im CommonJS-Stil geschrieben.
function countWords(notes) {
// Gib zurück, wie viele Wörter alle Notizen zusammen enthalten.
return 0;
}
module.exports = { countWords };
Alle Lektionen in Node.js-Grundlagen
1JavaScript mit Node ausführen
Hallo, NodeKommandozeilenargumenteBefehle