Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Uso del Módulo Commander para Aplicaciones CLI | Creación de Aplicaciones de Consola con Node.js
Desarrollo Backend con Node.js y Express.js

Uso del Módulo Commander para Aplicaciones CLI

Desliza para mostrar el menú

Desarrollar una interfaz de línea de comandos (CLI) con un módulo como Commander puede ser más manejable. Aunque Node.js ofrece mecanismos integrados para manejar argumentos de línea de comandos, estos pueden volverse rápidamente complicados de gestionar a medida que la CLI crece. Aquí es donde Commander resulta útil, ya que ofrece los siguientes beneficios:

  • Desarrollo de CLI simplificado: Commander facilita la creación de una CLI al minimizar la complejidad, permitiendo centrarse en definir los comandos y sus funciones;
  • Descripciones detalladas de comandos y opciones: Con Commander, es sencillo proporcionar descripciones para los comandos y opciones, mejorando la facilidad de uso de la CLI;
  • Análisis automático de argumentos: Commander automatiza el proceso de análisis de los argumentos de la línea de comandos, lo que reduce la cantidad de código manual necesario para gestionar argumentos.

Instalación del módulo Commander

Para comenzar, es necesario instalar el módulo Commander desde NPM. No te preocupes, el proceso es sencillo. Antes de poder utilizar el módulo Commander, hay que añadirlo al proyecto. Simplemente ejecuta el siguiente comando para instalarlo:

npm install commander

Creación de comandos y opciones

Con Commander, es posible definir comandos, especificar su comportamiento e incluso proporcionar descripciones. Además, se pueden explicar opciones que modifican el comportamiento de los comandos. A continuación, se muestra un adelanto de lo que se puede lograr con Commander:

Definición de un comando

Para definir un comando, utiliza el método .command() del objeto program. Estructura básica:

program.command('commandName [arguments]')
  • commandName: Nombre del comando;
  • [arguments] : Argumentos opcionales que acepta el comando.

Añadir descripciones a los comandos

Se puede proporcionar una descripción para el comando usando el método .description():

program.command('commandName [arguments]').description('Description of the command');

Manejo de acciones de comandos

Especifica la acción que se realizará cuando se ejecute el comando utilizando el método .action(). Aquí se define la lógica asociada al comando:

program.command('commandName [arguments]').action((...arguments) => {
  // Command logic goes here
});

Aquí tienes un ejemplo completo:

program
  .command('greet <name>')
  .description('Greet a person')
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

Aquí tienes el ejemplo de código del video:

const { program } = require("commander");

program
  .version("1.0.0")
  .command("greet <name>")
  .description("Greet a person")
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

program.parse(process.argv);
Descripción del código
expand arrow
  • Línea 1: importa el objeto program de la librería commander. Este objeto se utiliza para definir y gestionar la interfaz de línea de comandos;
  • Línea 3: establece la versión de la aplicación en 1.0.0. Esta versión se muestra cuando los usuarios ejecutan la aplicación con el parámetro --version;
  • Línea 4: define un comando greet que acepta un argumento obligatorio <name>;
  • Línea 5: añade una descripción para el comando greet para explicar su propósito;
  • Línea 6: define la acción que se ejecuta cuando se llama al comando greet:
(name) => {
  console.log(`Hello, ${name}!`);
}

La función recibe el argumento name e imprime un mensaje de saludo utilizando un template literal;

  • Línea 9: analiza los argumentos de la línea de comandos usando process.argv y ejecuta el comando correspondiente.

Resumen

Este código crea una aplicación CLI sencilla utilizando la librería commander. Define un comando greet, acepta un nombre como entrada, ejecuta una acción de saludo y procesa los argumentos de la línea de comandos para ejecutar el comando adecuado.

Pruébalo tú mismo

El aprendizaje se potencia mediante la práctica. Ejecuta este código en tu computadora y observa cómo funciona. Interactúa con el script y disfruta la experiencia de crear mensajes de saludo únicos con la ayuda de Commander.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 6

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Uso del Módulo Commander para Aplicaciones CLI

Desarrollar una interfaz de línea de comandos (CLI) con un módulo como Commander puede ser más manejable. Aunque Node.js ofrece mecanismos integrados para manejar argumentos de línea de comandos, estos pueden volverse rápidamente complicados de gestionar a medida que la CLI crece. Aquí es donde Commander resulta útil, ya que ofrece los siguientes beneficios:

  • Desarrollo de CLI simplificado: Commander facilita la creación de una CLI al minimizar la complejidad, permitiendo centrarse en definir los comandos y sus funciones;
  • Descripciones detalladas de comandos y opciones: Con Commander, es sencillo proporcionar descripciones para los comandos y opciones, mejorando la facilidad de uso de la CLI;
  • Análisis automático de argumentos: Commander automatiza el proceso de análisis de los argumentos de la línea de comandos, lo que reduce la cantidad de código manual necesario para gestionar argumentos.

Instalación del módulo Commander

Para comenzar, es necesario instalar el módulo Commander desde NPM. No te preocupes, el proceso es sencillo. Antes de poder utilizar el módulo Commander, hay que añadirlo al proyecto. Simplemente ejecuta el siguiente comando para instalarlo:

npm install commander

Creación de comandos y opciones

Con Commander, es posible definir comandos, especificar su comportamiento e incluso proporcionar descripciones. Además, se pueden explicar opciones que modifican el comportamiento de los comandos. A continuación, se muestra un adelanto de lo que se puede lograr con Commander:

Definición de un comando

Para definir un comando, utiliza el método .command() del objeto program. Estructura básica:

program.command('commandName [arguments]')
  • commandName: Nombre del comando;
  • [arguments] : Argumentos opcionales que acepta el comando.

Añadir descripciones a los comandos

Se puede proporcionar una descripción para el comando usando el método .description():

program.command('commandName [arguments]').description('Description of the command');

Manejo de acciones de comandos

Especifica la acción que se realizará cuando se ejecute el comando utilizando el método .action(). Aquí se define la lógica asociada al comando:

program.command('commandName [arguments]').action((...arguments) => {
  // Command logic goes here
});

Aquí tienes un ejemplo completo:

program
  .command('greet <name>')
  .description('Greet a person')
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

Aquí tienes el ejemplo de código del video:

const { program } = require("commander");

program
  .version("1.0.0")
  .command("greet <name>")
  .description("Greet a person")
  .action((name) => {
    console.log(`Hello, ${name}!`);
  });

program.parse(process.argv);
Descripción del código
expand arrow
  • Línea 1: importa el objeto program de la librería commander. Este objeto se utiliza para definir y gestionar la interfaz de línea de comandos;
  • Línea 3: establece la versión de la aplicación en 1.0.0. Esta versión se muestra cuando los usuarios ejecutan la aplicación con el parámetro --version;
  • Línea 4: define un comando greet que acepta un argumento obligatorio <name>;
  • Línea 5: añade una descripción para el comando greet para explicar su propósito;
  • Línea 6: define la acción que se ejecuta cuando se llama al comando greet:
(name) => {
  console.log(`Hello, ${name}!`);
}

La función recibe el argumento name e imprime un mensaje de saludo utilizando un template literal;

  • Línea 9: analiza los argumentos de la línea de comandos usando process.argv y ejecuta el comando correspondiente.

Resumen

Este código crea una aplicación CLI sencilla utilizando la librería commander. Define un comando greet, acepta un nombre como entrada, ejecuta una acción de saludo y procesa los argumentos de la línea de comandos para ejecutar el comando adecuado.

Pruébalo tú mismo

El aprendizaje se potencia mediante la práctica. Ejecuta este código en tu computadora y observa cómo funciona. Interactúa con el script y disfruta la experiencia de crear mensajes de saludo únicos con la ayuda de Commander.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 6
some-alt