Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Werken met de Readline-Module | Consoletoepassingen Bouwen met Node.js
Backendontwikkeling met Node.js en Express.js

bookWerken met de Readline-Module

Aan de slag met Readline

De Readline-module is een ingebouwde module in Node.js die het lezen van invoer van de gebruiker op een interactieve manier vereenvoudigt. Het wordt vaak gebruikt om prompts te maken, gebruikersreacties te verzamelen en interactieve vraag-en-antwoord-sessies in de command-line interface op te bouwen.

Inzicht in de Readline-module

Voordat we ingaan op een praktijkvoorbeeld, verkennen we eerst de kernconcepten en methoden die door de Readline-module worden aangeboden.

Een Readline-interface aanmaken

Om de Readline-module te gebruiken, beginnen we doorgaans met het aanmaken van een Readline-interface die de invoer- en uitvoerstromen beheert. Zo maken we een interface aan:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl staat voor de Readline-interface;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) stelt de interface in om te lezen van de standaardinvoer (process.stdin) en te schrijven naar de standaarduitvoer (process.stdout).

Gebruikersinvoer verzamelen

Zodra we een Readline-interface hebben, kunnen we deze gebruiken om gebruikersinvoer te verzamelen. De meest gebruikte methode hiervoor is 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) => { ... }) vraagt de gebruiker om invoer met het opgegeven bericht;
  • De callbackfunctie (name) => { ... } wordt uitgevoerd wanneer de gebruiker een antwoord invoert;
  • name bevat de invoer van de gebruiker.

De interface beheren

Het is belangrijk om de Readline-interface te sluiten wanneer we klaar zijn. Dit doen we met rl.close().

Een interactieve prompt maken

Nu we de basis hebben behandeld, gaan we onze kennis toepassen en een leuke command-line waarzegger maken. Gebruikers voeren hun naam in en de applicatie genereert een willekeurige voorspellingsboodschap.

Hier is het codevoorbeeld uit de video:

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

In dit voorbeeld zijn de bovenstaande concepten toegepast om een interactieve command-line applicatie te maken. Gebruikers worden gevraagd om invoer, en de applicatie genereert willekeurige antwoorden. De Readline-module vereenvoudigt de interactie met de gebruiker in de command-line interface, waardoor het ideaal is voor het maken van interactieve CLI-toepassingen.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 7

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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

What happens if I don't call rl.close() after collecting input?

Can I customize the prompt message or add more questions for the user?

bookWerken met de Readline-Module

Veeg om het menu te tonen

Aan de slag met Readline

De Readline-module is een ingebouwde module in Node.js die het lezen van invoer van de gebruiker op een interactieve manier vereenvoudigt. Het wordt vaak gebruikt om prompts te maken, gebruikersreacties te verzamelen en interactieve vraag-en-antwoord-sessies in de command-line interface op te bouwen.

Inzicht in de Readline-module

Voordat we ingaan op een praktijkvoorbeeld, verkennen we eerst de kernconcepten en methoden die door de Readline-module worden aangeboden.

Een Readline-interface aanmaken

Om de Readline-module te gebruiken, beginnen we doorgaans met het aanmaken van een Readline-interface die de invoer- en uitvoerstromen beheert. Zo maken we een interface aan:

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
  • const rl staat voor de Readline-interface;
  • readline.createInterface({ input: process.stdin, output: process.stdout }) stelt de interface in om te lezen van de standaardinvoer (process.stdin) en te schrijven naar de standaarduitvoer (process.stdout).

Gebruikersinvoer verzamelen

Zodra we een Readline-interface hebben, kunnen we deze gebruiken om gebruikersinvoer te verzamelen. De meest gebruikte methode hiervoor is 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) => { ... }) vraagt de gebruiker om invoer met het opgegeven bericht;
  • De callbackfunctie (name) => { ... } wordt uitgevoerd wanneer de gebruiker een antwoord invoert;
  • name bevat de invoer van de gebruiker.

De interface beheren

Het is belangrijk om de Readline-interface te sluiten wanneer we klaar zijn. Dit doen we met rl.close().

Een interactieve prompt maken

Nu we de basis hebben behandeld, gaan we onze kennis toepassen en een leuke command-line waarzegger maken. Gebruikers voeren hun naam in en de applicatie genereert een willekeurige voorspellingsboodschap.

Hier is het codevoorbeeld uit de video:

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

In dit voorbeeld zijn de bovenstaande concepten toegepast om een interactieve command-line applicatie te maken. Gebruikers worden gevraagd om invoer, en de applicatie genereert willekeurige antwoorden. De Readline-module vereenvoudigt de interactie met de gebruiker in de command-line interface, waardoor het ideaal is voor het maken van interactieve CLI-toepassingen.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 7
some-alt