Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Arbejde med Readline-Modulet | Opbygning af Konsolapplikationer med Node.js
Backend-Udvikling med Node.js og Express.js

bookArbejde med Readline-Modulet

👋 Kom godt i gang med Readline

Readline-modulet er et indbygget modul i Node.js, der forenkler læsning af input fra brugeren på en interaktiv måde. Det bruges ofte til at oprette prompts, indsamle brugerens svar og bygge interaktive spørgsmål-svar-sessioner i kommandolinjegrænsefladen.

📖 Forståelse af Readline-modulet

Før vi dykker ned i et virkelighedsnært eksempel, lad os udforske de grundlæggende begreber og metoder, som Readline-modulet tilbyder.

Oprettelse af et Readline-interface

For at bruge Readline-modulet starter vi typisk med at oprette et Readline-interface, der håndterer input- og outputstrømme. Sådan opretter vi et interface:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl repræsenterer Readline-interfacet;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) konfigurerer interfacet til at læse fra standard input (process.stdin) og skrive til standard output (process.stdout).

Indsamling af brugerinput

Når vi har et Readline-interface, kan vi bruge det til at indsamle brugerinput. Den mest almindelige metode til dette formål er 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) => { ... }) beder brugeren om input med den angivne besked;
  • Callback-funktionen (name) => { ... } udføres, når brugeren indtaster deres svar;
  • name indeholder brugerens input.

Håndtering af interfacet

Det er vigtigt at lukke Readline-interfacet, når vi er færdige med det. Dette kan gøres med rl.close().

🔧 Oprettelse af en interaktiv prompt

Nu hvor vi har gennemgået det grundlæggende, kan vi anvende vores viden og lave en sjov kommandolinje-spåmand. Brugerne indtaster deres navne, og applikationen genererer en tilfældig spådomsbesked.

Her er kodeeksemplet fra videoen:

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();
});

I dette eksempel har vi anvendt ovenstående koncepter til at oprette en interaktiv kommandolinjeapplikation. Brugerne bliver bedt om input, og applikationen genererer tilfældige svar. Readline-modulet forenkler brugerinteraktionen i kommandolinjegrænsefladen og gør det ideelt til at skabe interaktive CLI-applikationer.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 7

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 2.56

bookArbejde med Readline-Modulet

Stryg for at vise menuen

👋 Kom godt i gang med Readline

Readline-modulet er et indbygget modul i Node.js, der forenkler læsning af input fra brugeren på en interaktiv måde. Det bruges ofte til at oprette prompts, indsamle brugerens svar og bygge interaktive spørgsmål-svar-sessioner i kommandolinjegrænsefladen.

📖 Forståelse af Readline-modulet

Før vi dykker ned i et virkelighedsnært eksempel, lad os udforske de grundlæggende begreber og metoder, som Readline-modulet tilbyder.

Oprettelse af et Readline-interface

For at bruge Readline-modulet starter vi typisk med at oprette et Readline-interface, der håndterer input- og outputstrømme. Sådan opretter vi et interface:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl repræsenterer Readline-interfacet;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) konfigurerer interfacet til at læse fra standard input (process.stdin) og skrive til standard output (process.stdout).

Indsamling af brugerinput

Når vi har et Readline-interface, kan vi bruge det til at indsamle brugerinput. Den mest almindelige metode til dette formål er 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) => { ... }) beder brugeren om input med den angivne besked;
  • Callback-funktionen (name) => { ... } udføres, når brugeren indtaster deres svar;
  • name indeholder brugerens input.

Håndtering af interfacet

Det er vigtigt at lukke Readline-interfacet, når vi er færdige med det. Dette kan gøres med rl.close().

🔧 Oprettelse af en interaktiv prompt

Nu hvor vi har gennemgået det grundlæggende, kan vi anvende vores viden og lave en sjov kommandolinje-spåmand. Brugerne indtaster deres navne, og applikationen genererer en tilfældig spådomsbesked.

Her er kodeeksemplet fra videoen:

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();
});

I dette eksempel har vi anvendt ovenstående koncepter til at oprette en interaktiv kommandolinjeapplikation. Brugerne bliver bedt om input, og applikationen genererer tilfældige svar. Readline-modulet forenkler brugerinteraktionen i kommandolinjegrænsefladen og gør det ideelt til at skabe interaktive CLI-applikationer.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 7
some-alt