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

Arbeide med Readline-modulen

Sveip for å vise menyen

Komme i gang med Readline

Readline-modulen er en innebygd modul i Node.js som forenkler innlesing av input fra brukeren på en interaktiv måte. Den brukes ofte til å lage spørsmålsprompter, samle inn brukerrespons 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 input- og output-strømmer. 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 formålet 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) => { ... }) viser en melding til brukeren for å be om input;
  • Tilbakekallingsfunksjonen (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ådomsgenerator. Brukere skriver inn navnet sitt, 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 for å 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.

Kodebeskrivelse
expand arrow
  • Linje 1: importerer den innebygde readline-modulen;
  • Linje 3-6: oppretter en readline.Interface-instans kalt rl. Den bruker strømmene process.stdin og process.stdout for brukerinput og -output;
  • Linje 8-14: oppretter et array kalt fortunes som inneholder flere spådomsmeldinger;
  • Linje 16: bruker rl.question() for å be brukeren om navnet sitt. Tilbakekallingsfunksjonen kjøres etter at brukeren har skrevet inn et svar;
  • Linje 17: genererer en tilfeldig indeks ved hjelp av Math.random() og Math.floor() for å velge en spådomsmelding;
  • Linje 18: henter spådomsmeldingen som er lagret på den genererte indeksen;
  • Linje 20: viser en personlig spådomsmelding som inneholder brukerens navn og den valgte spådommen;
  • Linje 22: lukker readline-grensesnittet og avslutter interaksjonen.

Oppsummering

Denne koden lager en enkel kommandolinjeapplikasjon for spådommer ved hjelp av readline-modulen. Den samler inn brukerens navn, velger en tilfeldig spådom fra et array, viser resultatet og avslutter applikasjonen.

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

Arbeide med Readline-modulen

Komme i gang med Readline

Readline-modulen er en innebygd modul i Node.js som forenkler innlesing av input fra brukeren på en interaktiv måte. Den brukes ofte til å lage spørsmålsprompter, samle inn brukerrespons 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 input- og output-strømmer. 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 formålet 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) => { ... }) viser en melding til brukeren for å be om input;
  • Tilbakekallingsfunksjonen (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ådomsgenerator. Brukere skriver inn navnet sitt, 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 for å 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.

Kodebeskrivelse
expand arrow
  • Linje 1: importerer den innebygde readline-modulen;
  • Linje 3-6: oppretter en readline.Interface-instans kalt rl. Den bruker strømmene process.stdin og process.stdout for brukerinput og -output;
  • Linje 8-14: oppretter et array kalt fortunes som inneholder flere spådomsmeldinger;
  • Linje 16: bruker rl.question() for å be brukeren om navnet sitt. Tilbakekallingsfunksjonen kjøres etter at brukeren har skrevet inn et svar;
  • Linje 17: genererer en tilfeldig indeks ved hjelp av Math.random() og Math.floor() for å velge en spådomsmelding;
  • Linje 18: henter spådomsmeldingen som er lagret på den genererte indeksen;
  • Linje 20: viser en personlig spådomsmelding som inneholder brukerens navn og den valgte spådommen;
  • Linje 22: lukker readline-grensesnittet og avslutter interaksjonen.

Oppsummering

Denne koden lager en enkel kommandolinjeapplikasjon for spådommer ved hjelp av readline-modulen. Den samler inn brukerens navn, velger en tilfeldig spådom fra et array, viser resultatet og avslutter applikasjonen.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7
some-alt