Arbeiten mit dem Readline-Modul
Swipe um das Menü anzuzeigen
Einstieg in Readline
Das Readline-Modul ist ein integriertes Modul in Node.js, das das Einlesen von Benutzereingaben auf interaktive Weise vereinfacht. Es wird häufig verwendet, um Eingabeaufforderungen zu erstellen, Benutzerantworten zu erfassen und interaktive Frage-Antwort-Sitzungen in der Befehlszeilenschnittstelle zu gestalten.
Grundlagen des Readline-Moduls
Bevor ein praxisnahes Beispiel betrachtet wird, werden die grundlegenden Konzepte und Methoden des Readline-Moduls erläutert.
Erstellen einer Readline-Schnittstelle
Um das Readline-Modul zu verwenden, wird in der Regel zunächst eine Readline-Schnittstelle erstellt, die die Ein- und Ausgabeströme verwaltet. So wird eine Schnittstelle erstellt:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const rlsteht für die Readline-Schnittstelle;readline.createInterface({ input: process.stdin, output: process.stdout })richtet die Schnittstelle so ein, dass sie von der Standardeingabe (process.stdin) liest und auf die Standardausgabe (process.stdout) schreibt.
Erfassen von Benutzereingaben
Sobald eine Readline-Schnittstelle vorhanden ist, kann sie zur Erfassung von Benutzereingaben verwendet werden. Die gebräuchlichste Methode hierfür ist rl.question():
rl.question("Please enter your name: ", (name) => {
// User input is available as `name`
console.log(`Hello, ${name}!`);
rl.close();
});
rl.question("Please enter your name: ", (name) => { ... })fordert den Benutzer mit der angegebenen Nachricht zur Eingabe auf;- Die Callback-Funktion
(name) => { ... }wird ausgeführt, wenn der Benutzer seine Antwort eingibt; nameenthält die Eingabe des Benutzers.
Verwaltung der Schnittstelle
Es ist wichtig, die Readline-Schnittstelle zu schließen, wenn sie nicht mehr benötigt wird. Dies kann mit rl.close() erfolgen.
Erstellen einer interaktiven Eingabeaufforderung
Nachdem die Grundlagen behandelt wurden, folgt nun die praktische Anwendung: Entwicklung eines unterhaltsamen Kommandozeilen-Wahrsagers. Benutzer geben ihren Namen ein und die Anwendung generiert eine zufällige Glücksbotschaft.
Hier ist das Codebeispiel aus dem Video:
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const fortunes = [
"You will find unexpected joy in the little things.",
"A new opportunity will open doors for you.",
"Adventure is just around the corner.",
"Embrace change, and good things will follow.",
"Patience will bring you great rewards.",
];
rl.question("Welcome to the Fortune Teller! What's your name? ", (name) => {
const randomIndex = Math.floor(Math.random() * fortunes.length);
const randomFortune = fortunes[randomIndex];
console.log(`Hello, ${name}! Your fortune today: ${randomFortune}`);
rl.close();
});
In diesem Beispiel wurden die oben genannten Konzepte angewendet, um eine interaktive Kommandozeilenanwendung zu erstellen. Benutzer werden zur Eingabe aufgefordert und die Anwendung generiert zufällige Antworten. Das Readline-Modul vereinfacht die Benutzerinteraktion in der Kommandozeilenschnittstelle und eignet sich ideal zur Erstellung interaktiver CLI-Anwendungen.
- Zeile 1: importiert das eingebaute
readline-Modul; - Zeile 3-6: erstellt eine Instanz von
readline.Interfacemit dem Namenrl. Es verwendet die Streamsprocess.stdinundprocess.stdoutfür Benutzereingaben und -ausgaben; - Zeile 8-14: erstellt ein Array mit dem Namen
fortunes, das mehrere Glücksbotschaften enthält; - Zeile 16: verwendet
rl.question(), um den Benutzer nach seinem Namen zu fragen. Die Callback-Funktion wird ausgeführt, nachdem der Benutzer eine Eingabe gemacht hat; - Zeile 17: generiert einen zufälligen Index mit
Math.random()undMath.floor(), um eine Glücksbotschaft auszuwählen; - Zeile 18: ruft die Glücksbotschaft ab, die am generierten Index gespeichert ist;
- Zeile 20: zeigt eine personalisierte Glücksbotschaft mit dem Namen des Benutzers und der ausgewählten Botschaft an;
- Zeile 22: schließt die
readline-Schnittstelle und beendet die Interaktion.
Zusammenfassung
Dieser Code erstellt eine einfache Kommandozeilenanwendung als Wahrsager mit dem readline-Modul. Der Name des Benutzers wird abgefragt, ein zufälliger Spruch aus einem Array ausgewählt, das Ergebnis angezeigt und die Anwendung geschlossen.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen