Creación de Aplicaciones CLI Básicas con Node.js

Clase 22 de 26Curso de Node.js Avanzado

Resumen

Domina una poderosa destreza en programación aprendiendo a crear aplicaciones CLI (Command Line Interface) utilizando Node.js. Más allá de aplicaciones web o servidores, Node permite crear herramientas prácticas y útiles, ejecutables directamente desde la terminal. Te explicaré brevemente cómo comenzar y cuáles son las herramientas clave que necesitas conocer.

¿Qué es un CLI y por qué usarlo?

Un CLI o interfaz de línea de comandos permite al desarrollador crear comandos personalizados para ejecutar tareas puntuales y efectivas desde una terminal local o remota. Node trae por defecto su propio CLI (llamado REPL o Read-Eval-Print Loop), una poderosa herramienta de ejecución inmediata que te permite:

  • Evaluar código JavaScript directamente.
  • Acceder a funciones rápidas como break, clear o guardar comandos ejecutados.
  • Experimentar en tiempo real y aprender JavaScript más ágilmente.

¿Cómo comenzar a crear aplicaciones CLI en Node.js?

Para crear tu primer CLI, sigue estos pasos concretos:

  1. Crea una carpeta específica para tu CLI.
  2. Genera un archivo con la extensión .js (por ejemplo, hello-cli.js).
  3. Añade al inicio del archivo el shebang, que indica al sistema que ejecute tu archivo usando Node:
#!/usr/bin/env node

Este shebang es indispensable para scripts ejecutables en sistemas Unix/Linux o Mac.

¿Qué módulos utilizar para desarrollar CLIs efectivos?

Principalmente, se recomienda utilizar dos componentes clave:

  • Módulo readline: una utilidad para recibir entradas del usuario desde la terminal, que se inicializa así:
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
  • Process argv: permite capturar argumentos pasados desde la línea de comandos. Se estructura comúnmente así en JavaScript:
const [nodeExecPath, script, ...args] = process.argv;

Esto te dará acceso a la ruta del ejecutable Node, al archivo ejecutado y a otros argumentos adicionales proporcionados por el usuario.

¿Cómo ejecutar y manejar bien una aplicación CLI creada?

Una vez que tienes creada la lógica básica en tu archivo JavaScript, recuerda estos pasos cruciales:

  • Otorga permiso de ejecución (en Linux y Mac) a tu archivo hello-cli.js:
chmod +x hello-cli.js
  • Ejecuta tu CLI usando la sintaxis:
./hello-cli.js
  • Proporciona argumentos específicos para verificar que todo funciona bien:
./hello-cli.js argumento1=2 argumento2=3
  • Finalmente, es una buena práctica gestionar correctamente las señales del sistema (como Ctrl+C) para asegurar un funcionamiento óptimo. Ejemplo:
process.on('SIGINT', () => {
    console.log('Proceso interrumpido por usuario');
    process.exit(0);
});

Ahora que tienes claro lo esencial para iniciar con aplicaciones CLI usando Node.js, no dudes en explorar sus múltiples usos prácticos y compartir tus experiencias creando herramientas útiles a través de la terminal.