Eingebaute Module
Teil des Abschnitts Node.js-Grundlagen der Node.js-Journey von Coddy. Lektion 8 von 24.
Deine Notizen werden bald in einer Datei gespeichert, und Dateipfade unterscheiden sich von einem Computer zum nächsten.
Node liefert eigene Module dafür mit. Du importierst sie wie deine Dateien, mit einem node:-Präfix und ohne etwas installieren zu müssen. path.join verbindet Pfadteile mit dem passenden Trennzeichen, path.basename gibt den letzten Teil zurück, os.homedir() ist dein persönlicher Ordner und process.cwd() ist der Ordner, in dem das Programm ausgeführt wird.
import os from 'node:os';
import path from 'node:path';
const file = path.join(os.homedir(), 'photos', 'cat.png');
console.log(file); // /home/ada/photos/cat.png
console.log(path.basename(file)); // cat.pngpath.join fügt zwischen den Teilen einen Schrägstrich ein, sodass du nie photoscat.png erhältst.
Aufgabe
Einfach- Ein neuer Befehl
wheregibt den vollständigen Pfad vonnotes.jsonim aktuellen Ordner aus:path.join(process.cwd(), 'notes.json'). - Eine zweite Zeile gibt den Basisnamen dieses Pfads aus.
Führe node notes.js where aus. Die Datei existiert noch nicht: Kapitel 3 erstellt sie.
Probier es selbst
// Dein Notiz-Tool beginnt hier.
import { formatNote } from './format.js';
import store from './store.js';
const [command, ...words] = process.argv.slice(2);
const text = words.join(' ');
if (command === 'add') {
const n = store.add(text);
console.log(`Adding: ${formatNote(n, text)}`);
} else if (command === 'list') {
const owner = process.env.NOTES_OWNER ?? 'you';
console.log(`Notes for ${owner}`);
if (store.notes.length === 0) {
console.log('No notes yet');
}
store.notes.forEach((note, i) => console.log(formatNote(i + 1, note)));
} else {
if (command) {
console.error(`Unknown command: ${command}`);
}
console.error('Usage: node notes.js <command> [words]');
process.exit(1);
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Node.js-Grundlagen
1JavaScript mit Node ausführen
Hallo, NodeKommandozeilenargumenteBefehle