Du schreibst Skripte, die mit process.argv Argumente entgegennehmen, Umgebungsvariablen lesen und einen Exit-Code zurückgeben.
Diese Lektion in Kodokon öffnenDu verwendest schon Kommandozeilen-Programme: node, npm, git und so weiter. Jedes nimmt Argumente entgegen, also die nach seinem Namen eingetippten Wörter, die sein Verhalten ändern. Schreiben wir unser eigenes. Node stellt das globale Objekt process bereit, das das gerade laufende Programm beschreibt - bei process.version bist du ihm schon begegnet. Seine Eigenschaft process.argv ist ein Array, das Folgendes enthält: an Index 0 den Pfad zu Node, an Index 1 den Pfad zu deinem Skript und ab Index 2 die tatsächlich vom Nutzer eingetippten Argumente.
console.log(process.argv);
const args = process.argv.slice(2);
console.log("Your arguments:", args);Eine zweite Informationsquelle: die Umgebungsvariablen. Das sind Name/Wert-Paare, die das System dem Programm beim Start mitgibt. Sie dienen der Konfiguration: ein geheimer API-Schlüssel, der Debug-Modus, die Adresse einer Datenbank und so weiter. Du liest sie im Objekt process.env. Eine fehlende Variable ist undefined: Sieh immer einen Standardwert vor, zum Beispiel mit dem Operator ??.
const level = process.env.LOG_LEVEL ?? "info";
console.log("Log level:", level);LOG_LEVEL=debug node config.jsWenn ein Programm endet, gibt es dem System einen Exit-Code zurück: eine Zahl, die zusammenfasst, wie es gelaufen ist. Universelle Konvention: 0 bedeutet "Erfolg", jeder andere Wert meldet einen Fehler - genau das prüfen andere Werkzeuge und Skripte, um zu wissen, ob alles geklappt hat. process.exit(1) stoppt das Skript sofort mit dem Code 1. Verwende außerdem console.error für Fehlermeldungen: Es schreibt in die Fehlerausgabe (stderr), einen von der normalen Ausgabe getrennten Kanal. Bringen wir alles in einem vollständigen Skript zusammen.
const name = process.argv[2];
if (!name) {
console.error("Usage: node greet.js <name>");
process.exit(1);
}
console.log(`Hello, ${name}!`);