Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Att Arbeta med Readline-Modulen | Bygga Konsolapplikationer med Node.js
Backendutveckling med Node.js och Express.js

bookAtt Arbeta med Readline-Modulen

👋 Kom igång med Readline

Readline-modulen är en inbyggd modul i Node.js som förenklar inläsning av användarinmatning på ett interaktivt sätt. Den används ofta för att skapa uppmaningar, samla in användarsvar och bygga interaktiva fråge- och svarsessioner i kommandoradsgränssnittet.

📖 Förstå Readline-modulen

Innan vi går in på ett verkligt exempel, låt oss utforska de grundläggande koncepten och metoderna som tillhandahålls av Readline-modulen.

Skapa ett Readline-gränssnitt

För att använda Readline-modulen börjar vi vanligtvis med att skapa ett Readline-gränssnitt som hanterar in- och utströmmar. Så här skapar vi ett gränssnitt:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl representerar Readline-gränssnittet;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) konfigurerar gränssnittet för att läsa från standardinmatning (process.stdin) och skriva till standardutmatning (process.stdout).

Samla in användarinmatning

När vi har ett Readline-gränssnitt kan vi använda det för att samla in användarinmatning. Den vanligaste metoden för detta är 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) => { ... }) visar en uppmaning till användaren med det angivna meddelandet;
  • Callback-funktionen (name) => { ... } körs när användaren anger sitt svar;
  • name innehåller användarens inmatning.

Hantera gränssnittet

Det är viktigt att stänga Readline-gränssnittet när vi är klara med det. Detta görs med rl.close().

🔧 Skapa en interaktiv prompt

Nu när vi har gått igenom grunderna kan vi använda våra kunskaper för att skapa en rolig kommandoradsbaserad spådomsapplikation. Användare anger sina namn, och applikationen genererar ett slumpmässigt spådomsmeddelande.

Här är kodexemplet från videon:

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 det här exemplet har vi tillämpat ovanstående koncept för att skapa en interaktiv kommandoradsapplikation. Användare uppmanas att ange indata, och applikationen genererar slumpmässiga svar. Readline-modulen förenklar användarinteraktion i kommandoradsgränssnittet, vilket gör den idealisk för att skapa interaktiva CLI-applikationer.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 7

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookAtt Arbeta med Readline-Modulen

Svep för att visa menyn

👋 Kom igång med Readline

Readline-modulen är en inbyggd modul i Node.js som förenklar inläsning av användarinmatning på ett interaktivt sätt. Den används ofta för att skapa uppmaningar, samla in användarsvar och bygga interaktiva fråge- och svarsessioner i kommandoradsgränssnittet.

📖 Förstå Readline-modulen

Innan vi går in på ett verkligt exempel, låt oss utforska de grundläggande koncepten och metoderna som tillhandahålls av Readline-modulen.

Skapa ett Readline-gränssnitt

För att använda Readline-modulen börjar vi vanligtvis med att skapa ett Readline-gränssnitt som hanterar in- och utströmmar. Så här skapar vi ett gränssnitt:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl representerar Readline-gränssnittet;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) konfigurerar gränssnittet för att läsa från standardinmatning (process.stdin) och skriva till standardutmatning (process.stdout).

Samla in användarinmatning

När vi har ett Readline-gränssnitt kan vi använda det för att samla in användarinmatning. Den vanligaste metoden för detta är 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) => { ... }) visar en uppmaning till användaren med det angivna meddelandet;
  • Callback-funktionen (name) => { ... } körs när användaren anger sitt svar;
  • name innehåller användarens inmatning.

Hantera gränssnittet

Det är viktigt att stänga Readline-gränssnittet när vi är klara med det. Detta görs med rl.close().

🔧 Skapa en interaktiv prompt

Nu när vi har gått igenom grunderna kan vi använda våra kunskaper för att skapa en rolig kommandoradsbaserad spådomsapplikation. Användare anger sina namn, och applikationen genererar ett slumpmässigt spådomsmeddelande.

Här är kodexemplet från videon:

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 det här exemplet har vi tillämpat ovanstående koncept för att skapa en interaktiv kommandoradsapplikation. Användare uppmanas att ange indata, och applikationen genererar slumpmässiga svar. Readline-modulen förenklar användarinteraktion i kommandoradsgränssnittet, vilket gör den idealisk för att skapa interaktiva CLI-applikationer.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 7
some-alt