TypeScript:
Lesen von Kommandozeilenargumenten

So geht’s:

In TypeScript könnt ihr Kommandozeilenargumente mit process.argv auslesen, das ein Array der übergebenen Argumente ist.

// Beispiel: process_argv.ts
const args = process.argv.slice(2); // Die ersten zwei Elemente ignorieren (node und script path)

console.log(args); // Gibt die Argumente als Array aus

// Nutzungsbeispiel:
// $ node process_argv.ts arg1 arg2 arg3
// Ausgabe: [ 'arg1', 'arg2', 'arg3' ]

Die slice(2)-Methode wird verwendet, um die ersten beiden Standardargumente zu entfernen: den Pfad zu Node.js und den zum Skript.

// Argumente mit bestimmter Option verarbeiten
const args = process.argv.slice(2);
const options = args.filter(arg => arg.startsWith("--"));
const optionValues = options.map(option => {
  const [key, value] = option.split("=");
  return { key: key.replace("--", ""), value };
});

console.log(optionValues);

// Nutzungsbeispiel:
// $ node process_argv.ts --name=Max --age=28
// Ausgabe: [ { key: 'name', value: 'Max' }, { key: 'age', value: '28' } ]

Tiefgang:

Historisch gesehen stammt das Konzept der Kommandozeilenargumente aus den Anfangstagen der Computer, als interaktive Shells die Hauptmethode zur Interaktion mit Betriebssystemen waren. In JavaScript und TypeScript hat die process-Globale, ein Überbleibsel von Node.js, die Fähigkeit, auf die Systemumgebung zuzugreifen, was beinhaltet, Kommandozeilenargumente zu lesen.

Alternativen zu process.argv umfassen Bibliotheken wie yargs oder commander, die komplexere Parsing-Funktionalitäten bieten, wie z.B. Flags, Aliase und Standardwerte für Argumente.

Die Implementation ist straightforward: process.argv ist ein einfaches Array, weshalb keine zusätzliche Initialisierung oder Konfiguration erforderlich ist, um Argumente zu lesen.

Siehe auch: