Contenido del Curso
Node.js Express: API & CLI Apps
Node.js Express: API & CLI Apps
Readline Module
👋 Getting Started with Readline
The Readline module is a built-in module in Node.js that simplifies reading input from the user in an interactive manner. It's often used to create prompts, collect user responses, and build interactive question-answer sessions in the command-line interface.
📖 Understanding the Readline Module
Before diving into a real-world example, let's explore the core concepts and methods provided by the Readline module.
Creating a Readline Interface
To use the Readline module, we typically start by creating a Readline interface that manages input and output streams. Here's how we create an interface:
const rl
represents the Readline interface;readline.createInterface({ input: process.stdin, output: process.stdout })
sets up the interface to read from the standard input (process.stdin
) and write to the standard output (process.stdout
).
Collecting User Input
Once we have a Readline interface, we can use it to collect user input. The most common method for this purpose is rl.question()
:
rl.question("Please enter your name: ", (name) => { ... })
prompts the user for input with the provided message;- The callback function
(name) => { ... }
is executed when the user enters their response; name
contains the user's input.
Managing the Interface
It's important to close the Readline interface when we're done with it. We can do this using rl.close()
.
🔧 Creating an Interactive Prompt
Now that we've covered the basics let's put our knowledge to use and create a fun command-line fortune teller. Users will enter their names, and the application will generate a random fortune message.
Here's the code example from the video:
In this example, we've applied the above concepts to create an interactive command-line application. Users are prompted for input, and the application generates random responses. The Readline module simplifies user interaction in the command-line interface, making it ideal for creating interactive CLI applications.
¡Gracias por tus comentarios!