Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Arbeide med Readline-modulen | Bygge Konsollapplikasjoner med Node.js
Backend-Utvikling med Node.js og Express.js

bookArbeide med Readline-modulen

👋 Komme i gang med Readline

Readline-modulen er en innebygd modul i Node.js som forenkler innhenting av input fra brukeren på en interaktiv måte. Den brukes ofte til å lage spørsmålsprompter, samle inn brukerens svar og bygge interaktive spørsmål-og-svar-økter i kommandolinjegrensesnittet.

📖 Forstå Readline-modulen

Før vi går inn i et praktisk eksempel, skal vi utforske kjernebegrepene og metodene som tilbys av Readline-modulen.

Opprette et Readline-grensesnitt

For å bruke Readline-modulen starter vi vanligvis med å opprette et Readline-grensesnitt som håndterer inn- og utstrømmene. Slik oppretter vi et grensesnitt:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl representerer Readline-grensesnittet;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) setter opp grensesnittet til å lese fra standard input (process.stdin) og skrive til standard output (process.stdout).

Innhenting av brukerinput

Når vi har et Readline-grensesnitt, kan vi bruke det til å hente inn brukerinput. Den vanligste metoden for dette 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) => { ... }) ber brukeren om input med den angitte meldingen;
  • Tilbakekallfunksjonen (name) => { ... } kjøres når brukeren har skrevet inn sitt svar;
  • name inneholder brukerens input.

Håndtering av grensesnittet

Det er viktig å lukke Readline-grensesnittet når vi er ferdige med det. Dette kan gjøres med rl.close().

🔧 Lage en interaktiv prompt

Nå som vi har gått gjennom det grunnleggende, kan vi bruke kunnskapen vår til å lage en morsom kommandolinje-basert spåkone. Brukere skriver inn navnene sine, og applikasjonen genererer en tilfeldig spådomsmelding.

Her er kodeeksempelet 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 eksempelet har vi brukt konseptene ovenfor til å lage en interaktiv kommandolinjeapplikasjon. Brukere blir bedt om å skrive inn data, og applikasjonen genererer tilfeldige svar. Readline-modulen forenkler brukerinteraksjon i kommandolinjegrensesnittet, noe som gjør den ideell for å lage interaktive CLI-applikasjoner.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain how rl.question() works in more detail?

What are some other use cases for the Readline module?

How can I customize the fortune messages in the example?

Awesome!

Completion rate improved to 2.56

bookArbeide med Readline-modulen

Sveip for å vise menyen

👋 Komme i gang med Readline

Readline-modulen er en innebygd modul i Node.js som forenkler innhenting av input fra brukeren på en interaktiv måte. Den brukes ofte til å lage spørsmålsprompter, samle inn brukerens svar og bygge interaktive spørsmål-og-svar-økter i kommandolinjegrensesnittet.

📖 Forstå Readline-modulen

Før vi går inn i et praktisk eksempel, skal vi utforske kjernebegrepene og metodene som tilbys av Readline-modulen.

Opprette et Readline-grensesnitt

For å bruke Readline-modulen starter vi vanligvis med å opprette et Readline-grensesnitt som håndterer inn- og utstrømmene. Slik oppretter vi et grensesnitt:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl representerer Readline-grensesnittet;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) setter opp grensesnittet til å lese fra standard input (process.stdin) og skrive til standard output (process.stdout).

Innhenting av brukerinput

Når vi har et Readline-grensesnitt, kan vi bruke det til å hente inn brukerinput. Den vanligste metoden for dette 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) => { ... }) ber brukeren om input med den angitte meldingen;
  • Tilbakekallfunksjonen (name) => { ... } kjøres når brukeren har skrevet inn sitt svar;
  • name inneholder brukerens input.

Håndtering av grensesnittet

Det er viktig å lukke Readline-grensesnittet når vi er ferdige med det. Dette kan gjøres med rl.close().

🔧 Lage en interaktiv prompt

Nå som vi har gått gjennom det grunnleggende, kan vi bruke kunnskapen vår til å lage en morsom kommandolinje-basert spåkone. Brukere skriver inn navnene sine, og applikasjonen genererer en tilfeldig spådomsmelding.

Her er kodeeksempelet 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 eksempelet har vi brukt konseptene ovenfor til å lage en interaktiv kommandolinjeapplikasjon. Brukere blir bedt om å skrive inn data, og applikasjonen genererer tilfeldige svar. Readline-modulen forenkler brukerinteraksjon i kommandolinjegrensesnittet, noe som gjør den ideell for å lage interaktive CLI-applikasjoner.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7
some-alt