Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Usando o Módulo Commander para Aplicativos CLI | Construindo Aplicações de Console com Node.js
Desenvolvimento Backend com Node.js e Express.js

Usando o Módulo Commander para Aplicativos CLI

Deslize para mostrar o menu

Desenvolver uma interface de linha de comando (CLI) com um módulo como o Commander pode ser mais gerenciável. Embora o Node.js ofereça mecanismos integrados para lidar com argumentos de linha de comando, eles podem rapidamente se tornar complicados à medida que a CLI cresce. É nesse ponto que o Commander se torna útil, pois oferece os seguintes benefícios:

  • Desenvolvimento de CLI simplificado: O Commander simplifica a criação de uma CLI ao minimizar a complexidade, permitindo focar na definição de comandos e suas funções;
  • Descrições detalhadas de comandos e opções: Com o Commander, é possível fornecer rapidamente descrições para comandos e opções, aumentando a facilidade de uso da CLI;
  • Análise automática de argumentos: O Commander automatiza o processo de análise dos argumentos da linha de comando, reduzindo o código manual necessário para lidar com argumentos.

Instalando o módulo Commander

Para começar, é necessário instalar o módulo Commander a partir do NPM. Mas não se preocupe, o processo é simples. Antes de começar a usar o módulo Commander, é preciso adicioná-lo ao projeto. Basta executar o seguinte comando para instalá-lo:

npm install commander

Criando comandos e opções

Com o Commander, é possível definir comandos, especificar seus comportamentos e até fornecer descrições. Além disso, é possível explicar opções que modificam o comportamento dos comandos. Veja um exemplo do que pode ser feito com o Commander:

Definindo um Comando

Para definir um comando, utilize o método .command() do objeto program. Estrutura básica:

program.command('commandName [arguments]')
  • commandName: Nome do comando;
  • [arguments]: Argumentos opcionais aceitos pelo comando.

Adicionando Descrições aos Comandos

É possível fornecer uma descrição para o comando utilizando o método .description():

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

Manipulando Ações dos Comandos

Especifique a ação a ser executada quando o comando for chamado utilizando o método .action(). Neste ponto, define-se a lógica associada ao comando:

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

Aqui está um exemplo completo:

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

Aqui está o exemplo de código do vídeo:

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);
Descrição do código
expand arrow
  • Linha 1: importa o objeto program da biblioteca commander. Este objeto é utilizado para definir e gerenciar a interface de linha de comando;
  • Linha 3: define a versão da aplicação como 1.0.0. Esta versão é exibida quando os usuários executam a aplicação com o parâmetro --version;
  • Linha 4: define um comando greet que aceita um argumento obrigatório <name>;
  • Linha 5: adiciona uma descrição para o comando greet para explicar seu propósito;
  • Linha 6: define a ação que é executada quando o comando greet é chamado:
(name) => {
  console.log(`Hello, ${name}!`);
}

A função recebe o argumento name e imprime uma mensagem de saudação utilizando um template literal;

  • Linha 9: faz o parsing dos argumentos da linha de comando usando process.argv e executa o comando correspondente.

Resumo

Este código cria uma aplicação CLI simples utilizando a biblioteca commander. Ele define um comando greet, aceita um nome como entrada, executa uma ação de saudação e processa os argumentos da linha de comando para executar o comando apropriado.

Experimente Você Mesmo

A aprendizagem é mais eficaz por meio da prática. Execute este código em seu computador e observe os resultados. Interaja com o script e aproveite a experiência de criar mensagens de saudação exclusivas com a ajuda do Commander!

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 2. Capítulo 6
some-alt