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 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) => { ... }) ber brukeren om input med den angitte meldingen;
  • 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 ved å bruke rl.close().

Lage en interaktiv prompt

Nå som vi har gått gjennom det grunnleggende, kan vi bruke kunnskapen vår til å lage en enkel 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 å oppgi input, 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

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 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) => { ... }) ber brukeren om input med den angitte meldingen;
  • 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 ved å bruke rl.close().

Lage en interaktiv prompt

Nå som vi har gått gjennom det grunnleggende, kan vi bruke kunnskapen vår til å lage en enkel 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 å oppgi input, 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