Cómo crear una interfaz de línea de comandos (CLI) de JavaScript con Node.js

En este artículo, veremos cómo crear una CLI de JavaScript con la ayuda de NodeJs.

JavaScript al ser un lenguaje de interpretación, es un lenguaje muy dinámico, por lo que nos brinda muchas facilidades, por lo que muchas tareas se vuelven muy fáciles y cualquiera puede entenderlas muy fácilmente, por lo que en la era actual JavaScript es uno de los más lenguajes de programación populares del mundo, es por eso que hoy en día se están construyendo muchas herramientas en él.

En este artículo, construiremos una aplicación CLI con la ayuda de JavaScript. Necesitamos NodeJs para ejecutar JavaScript directamente. Si no ha instalado NodeJs en su computadora o tiene algún problema en NodeJs, consulte este artículo.

Enfoque: queremos hacer una aplicación CLI en JavaScript, pero JavaScript solo se ejecuta en el navegador, pero si queremos usarlo fuera del navegador, necesitaremos un tiempo de ejecución que proporcione NodeJS, por lo que debemos usar NodeJs. Entonces podremos crear una aplicación CLI con la ayuda de JavaScript. Usaremos el módulo readline de nodejs.

Implementación paso a paso:

Paso 1: en el primer paso, configuramos un entorno de proyecto de NodeJs. Si no ha instalado NPM o NodeJs, consulte este artículo.

  • Ejecute el siguiente comando e inicie el proyecto NodeJs.
npm init -y

Use «-y» para mantener las respuestas predeterminadas a todas las preguntas.

Estructura del proyecto: después de hacer lo anterior, muévase para crear un archivo index.js para escribir nuestro código, y el directorio se ve así.

. Paso 2: ahora veremos el funcionamiento del módulo readline de NodeJs. 

El módulo readline permite leer un flujo de datos una línea a la vez. Se puede incluir en el código con el método require(). Podemos ingresar cualquier flujo de datos que queramos en el módulo readline, lo que nos permite trabajar con flujos de entrada y salida estándar. O el módulo readline proporciona una interfaz para leer datos de un flujo legible (como process.stdin) una línea a la vez. Se puede acceder usando. El método de pregunta de la línea de lectura proporciona una facilidad para trabajar con un mecanismo de consulta-respuesta. Usamos el método de pregunta y pasamos dos argumentos, el primero es una consulta y el segundo es un controlador personalizado para tomar un argumento como entrada de la función del controlador. 

Sintaxis:

readline.question(query, callback);

Acepta la string de consulta de visualización y la función de devolución de llamada que se invocará como respuesta a la entrada del usuario a la consulta. El método createInterface de readline proporciona un objeto de interfaz para trabajar con readline y sus métodos.

Sintaxis:

readline.createInterface();

Ahora veamos la implementación del código del enfoque anterior. El siguiente código muestra el uso del módulo readline para aceptar entradas del usuario como CLI.

index.js

// import the readline module for work with stdin, or stdout.
const readline = require('readline');
  
// create a readline object to work with the stream.
// pass the stdin, or stdout in the current process.
const prompts = readline.createInterface(process.stdin, process.stdout);
  
// create a question or there handler.
prompts.question('Enter Learning Resources Name : ', (response) => {
  
    // check the response.
    if(response.toLocaleLowerCase() == 'gfg') {
        console.log("You are a part of the very huge learning community.");
    }else {
        console.log("Have a look at Geeksforgeeks, they solve many of your 
        technical doubts.");
    }
  
    // after the all work is done want to terminate this process.
    process.exit();
});

Paso para ejecutar la aplicación:

node index.js

Producción:

Explicación: El método createInterface se usa para crear una interfaz para tomar la entrada del usuario. Toma dos parámetros, la entrada estándar (stdin) y la salida estándar (stdout) del proceso actual. A continuación, se utiliza el método question() del objeto createInterface para generar una pregunta al usuario. El segundo parámetro es una función de devolución de llamada que procesará la entrada del usuario que se le pasa como un parámetro. La lógica dentro de la función mostrará un mensaje apropiado basado en la evaluación del valor de entrada del usuario. La instrucción process.exit() permite salir del código; de lo contrario, la interfaz seguirá leyendo desde la entrada estándar.

Publicación traducida automáticamente

Artículo escrito por mrsuryapratap y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *