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

Werken 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. Deze module wordt vaak gebruikt om prompts te maken, gebruikersreacties te verzamelen en interactieve vraag-en-antwoord-sessies te bouwen in de opdrachtregelinterface.

Inzicht in de Readline-module

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

Een Readline-interface maken

Om de Readline-module te gebruiken, beginnen we meestal 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) => { ... }) toont de gebruiker een prompt 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 kan 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 toekomstvoorspelling.

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 gebruikersinteractie in de command-line interface, waardoor het ideaal is voor het maken van interactieve CLI-toepassingen.

Codebeschrijving
expand arrow
  • Regel 1: importeert de ingebouwde readline-module;
  • Regel 3-6: maakt een readline.Interface-instantie met de naam rl. Deze gebruikt de process.stdin en process.stdout streams voor gebruikersinvoer en -uitvoer;
  • Regel 8-14: maakt een array met de naam fortunes die meerdere voorspellingsberichten bevat;
  • Regel 16: gebruikt rl.question() om de gebruiker naar zijn naam te vragen. De callbackfunctie wordt uitgevoerd nadat de gebruiker een invoer heeft gegeven;
  • Regel 17: genereert een willekeurige index met behulp van Math.random() en Math.floor() om een voorspellingsbericht te selecteren;
  • Regel 18: haalt het voorspellingsbericht op dat is opgeslagen op de gegenereerde index;
  • Regel 20: toont een gepersonaliseerd voorspellingsbericht met de naam van de gebruiker en de geselecteerde voorspelling;
  • Regel 22: sluit de readline-interface en beëindigt de interactie.

Samenvatting

Deze code maakt een eenvoudige command-line waarzeggerapplicatie met behulp van de readline-module. Het verzamelt de naam van de gebruiker, selecteert een willekeurige voorspelling uit een array, toont het resultaat en sluit de applicatie af.

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.

Werken 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. Deze module wordt vaak gebruikt om prompts te maken, gebruikersreacties te verzamelen en interactieve vraag-en-antwoord-sessies te bouwen in de opdrachtregelinterface.

Inzicht in de Readline-module

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

Een Readline-interface maken

Om de Readline-module te gebruiken, beginnen we meestal 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) => { ... }) toont de gebruiker een prompt 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 kan 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 toekomstvoorspelling.

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 gebruikersinteractie in de command-line interface, waardoor het ideaal is voor het maken van interactieve CLI-toepassingen.

Codebeschrijving
expand arrow
  • Regel 1: importeert de ingebouwde readline-module;
  • Regel 3-6: maakt een readline.Interface-instantie met de naam rl. Deze gebruikt de process.stdin en process.stdout streams voor gebruikersinvoer en -uitvoer;
  • Regel 8-14: maakt een array met de naam fortunes die meerdere voorspellingsberichten bevat;
  • Regel 16: gebruikt rl.question() om de gebruiker naar zijn naam te vragen. De callbackfunctie wordt uitgevoerd nadat de gebruiker een invoer heeft gegeven;
  • Regel 17: genereert een willekeurige index met behulp van Math.random() en Math.floor() om een voorspellingsbericht te selecteren;
  • Regel 18: haalt het voorspellingsbericht op dat is opgeslagen op de gegenereerde index;
  • Regel 20: toont een gepersonaliseerd voorspellingsbericht met de naam van de gebruiker en de geselecteerde voorspelling;
  • Regel 22: sluit de readline-interface en beëindigt de interactie.

Samenvatting

Deze code maakt een eenvoudige command-line waarzeggerapplicatie met behulp van de readline-module. Het verzamelt de naam van de gebruiker, selecteert een willekeurige voorspelling uit een array, toont het resultaat en sluit de applicatie af.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 7
some-alt