Utilice estas bibliotecas y utilidades para crear programas CLI modernos con todas las campanas y silbatos que necesita.
Una interfaz de línea de comandos (CLI) es una forma de interactuar con un programa de computadora o un sistema operativo mediante comandos basados en texto. Una herramienta CLI es un programa de utilidad que puede ejecutar desde una línea de comandos. Las herramientas CLI normalmente toman comandos basados en texto del usuario y realizan tareas específicas basadas en los comandos.
Las herramientas CLI de alta calidad deben admitir una amplia gama de funciones. Pueden analizar argumentos de línea de comandos y generar ayuda de uso para proporcionar comentarios visuales, entre otras funciones.
Hay varios paquetes de Node.js que pueden ayudarlo a crear rápidamente herramientas CLI, ofreciendo una amplia gama de funcionalidades y flexibilidad. Aquí, explorará algunos de los mejores paquetes de Node.js para crear herramientas CLI y descubrirá sus funciones clave.
Commander es un paquete de Node.js para crear interfaces de línea de comandos. Proporciona una API para definir comandos, opciones y argumentos, lo que facilita la creación de herramientas CLI.
Commander se encarga de analizar los argumentos en opciones y argumentos de línea de comandos. Además, muestra errores para problemas y opciones no reconocidas y genera automáticamente ayuda de uso (documentación CLI).
Para instalar Commander como una dependencia, ejecute este comando:
npm instalar comandante
Aquí hay un ejemplo de cómo usar Commander en una aplicación Node.js:
// índice.js
constante { Comando } = requerir("comandante");// creando una instancia de comando
constante programa = nuevo Dominio();// herramienta de creación
programa
.nombre("Matemáticas útiles")
.descripción("Una herramienta CLI para realizar funciones matemáticas simples")
.versión("1.0.0");// agregando comando
programa
.dominio("agregar")
.descripción("Suma dos números")
.argumento("" , "primer número")
.argumento("" , "segundo numero")
.acción((un, b) => {
consola.registro(parseInt(un) + parseInt(b));
});
programa.analizar gramaticalmente();
El ejemplo anterior es una herramienta CLI para realizar funciones matemáticas simples. El bloque de código anterior implementó la funcionalidad "agregar" para la herramienta CLI utilizando métodos de comandante.js.
Puede usar la herramienta CLI anterior ejecutando este comando en su terminal:
índice de nodo agregar 2 2
También puede ver la ayuda generada automáticamente para la herramienta CLI ejecutando este comando:
nodo cli -h
Con el paquete Commander.js, puede crear herramientas CLI funcionales y con todas las funciones con documentación lista para usar usando comandos simples.
Inquirer.js es un paquete de Node.js para crear interfaces de usuario de línea de comandos interactivas. Proporciona un conjunto de componentes de interfaz de usuario, como indicaciones, listas y casillas de verificación, lo que facilita la creación de herramientas CLI que pueden interactuar con el usuario.
Para instalar Inquirer como una dependencia, ejecute este comando:
npm instalar investigador
Aquí hay un ejemplo de cómo usar Inquirer.js:
// índice.js
importar investigador de"indagador";
investigador
.inmediato([
{
tipo: "aporte",
nombre: "nombre",
mensaje: "¿Cómo te llamas?",
},
])
.entonces((respuestas) => {
consola.registro(`Hola ${respuestas.nombre}`);
});
Este ejemplo usa Inquirer.js para tomar la entrada del usuario desde la terminal y registra un mensaje que dice hola al usuario.
Inquirer.js no es compatible con CommonJS sistema de módulos. Debe utilizar el sistema de módulos ES6 o degradar el paquete a la versión 8.0.0.
Inquirer.js proporciona muchas opciones de personalización para las solicitudes, incluidas opciones, validación y valores predeterminados, lo que lo hace ideal para crear herramientas CLI interactivas que puedan interactuar con el usuario.
Chalk es un paquete de Node.js que proporciona una forma sencilla de agregar colores a la salida del terminal, lo que facilita la creación de herramientas CLI legibles y atractivas.
Proporciona mucha flexibilidad en la definición de colores y estilos para el texto. Sin embargo, no puede usar Chalk de forma aislada para crear herramientas CLI; debe usarlo con paquetes como Commander e Inquirer.js.
Para instalar Chalk como dependencia, ejecute este comando:
npm instalar tiza
Aquí hay un ejemplo de cómo usar Chalk para agregar colores a la salida de la consola:
importar tiza de"tiza";
consola.log (tiza.azul("¡Hola Mundo!"));
consola.registro(tiza.rojo.atrevido("Advertencia"));
consola.registro(tiza.blanco.itálico("éxito"));
consola.registro(
tiza.amarillo.bgAzul("Estetextotieneaamarilloprimer planoyazulfondo")
);
Chalk proporciona muchos otros métodos para definir colores y estilos, incluidos subrayar, tachado, varios tonos de colores de fondo y muchos más.
Chalk no es compatible con el sistema de módulos CommonJS. Debe utilizar el sistema de módulos ES6 o degradar el paquete a la versión 4.0.0.
Chalk es un excelente paquete para hacer que sus herramientas CLI sean más atractivas visualmente y legibles. Además, puede integrarlo fácilmente en su código existente sin una configuración compleja.
Node Spinner es un paquete de Node.js que proporciona una forma sencilla de mostrar una animación giratoria en sus herramientas CLI. Puede usar este paquete para indicar que un proceso de ejecución prolongada está en curso y brindar una indicación visual al usuario de que la herramienta aún está funcionando.
Para instalar Node Spinner como una dependencia, ejecute este comando:
npm instalar cli-spinner
Aquí hay un ejemplo de cómo usar Node Spinner para mostrar una animación giratoria:
constante hilandero = requerir("cli-spinner").Hilandero;
constante hilandero = nuevo Hilandero("Procesando... %s");
spinner.setSpinnerString("|/-\\\\");
hilandero.comenzar();establecerTiempo de espera(() => {
spinner.texto = "Tarea terminada.";
establecerTiempo de espera(() => {
hilandero.detener();
}, 500);
}, 5000);
Este código usa la biblioteca para mostrar un control giratorio hasta que finaliza un proceso. El código simula una operación que dura 5 segundos usando establecer tiempo de espera. Al final del tiempo, cambia el texto de la pantalla de "procesando..." a "Tarea completada". y detiene la rueda giratoria 0,5 segundos después.
Node Spinner proporciona una variedad de opciones de personalización, como cambiar los estilos y el texto del control giratorio. También admite varios botones giratorios, lo que le permite mostrar diferentes animaciones para diferentes partes de su herramienta CLI.
Figlet es un paquete de Node.js que proporciona una forma sencilla de crear arte ASCII a partir de texto.
Para instalar figlet como una dependencia, ejecute este comando:
npm instalar filete
Aquí hay un ejemplo de cómo usar figlet para generar arte ASCII:
constante filete = requerir("figlet");
filet("¡¡Hola Mundo!!", (err, datos) => {
si (err) {
consola.registro("Perdón, algo salió mal");
consola.dir (error);
devolver;
}
consola.Dato de registro);
});
El ejemplo anterior crea arte ASCII con la cadena "¡¡Hola mundo!!" utilizando Figlet y lo registra en la consola.
Ejecutar este ejemplo debería producir el siguiente resultado:
Figlet proporciona muchos estilos de fuente que puede usar para personalizar la apariencia de su arte ASCII. Puede especificar un estilo de fuente pasando un objeto de opciones al filete función.
Por ejemplo:
filet("¡¡Hola Mundo!!", { fuente: "Campana" }, (err, datos) => {})
El uso de Figlet en su herramienta CLI agrega interés visual a sus herramientas y las hace más atractivas para sus usuarios.
Al elegir paquetes para su herramienta CLI, debe considerar sus necesidades y seleccionar los paquetes que proporcionen la funcionalidad, el estilo y la compatibilidad que las satisfagan.
El ecosistema de Node.js proporciona varios paquetes que pueden analizar argumentos de línea de comandos, crear una interfaz de usuario de línea de comandos, mostrar texto estilizado y mucho más. Aprovechar la combinación correcta le permitirá crear herramientas CLI que sean altamente funcionales y fáciles de usar.