Como analisar os argumentos da linha de comando no nó.JS

Como analisar os argumentos da linha de comando no nó.JS

Nó.JS é uma estrutura de E/S de código aberto e assíncrono baseado em eventos, que usa o mecanismo JavaScript V8 do Google. Usamos para desenvolver aplicativos que usam JavaScript nos lados do servidor e do cliente. Nó.Os aplicativos JS estão escritos em JavaScript.

Nó.Os aplicativos JS também aceitam argumentos de linha de comando como qualquer outra linguagem de programação. Por padrão, nó.JS é capaz de lidar com seus argumentos, mas se você quiser alguns recursos extras, pode usar ferramentas e pacotes de terceiros como yargs e minimista. Neste artigo, veremos como você pode analisar os argumentos da linha de comando no nó.JS usando processo.argv, yargs, e minimista.

Quais são os argumentos da linha de comando?

Um argumento da linha de comando é uma sequência de informações ou comandos adicionais que são transmitidos para um programa enquanto a executa pela interface da linha de comando (CLI) de um sistema operacional. Esses argumentos geralmente incluem informações usadas para definir valores de propriedade ou configuração para um aplicativo.

No nó.JS, todos os argumentos da linha de comando dados ao shell são encaminhados ao processo em uma matriz chamada 'Argumental Values ​​(argv).'Nó posterior.JS usa essa matriz para cada processo em execução na forma de processo.argv ou você pode dizer que os argumentos são por padrão armazenados no processo.argv.

Por que usar argumentos da linha de comando?

Os argumentos da linha de comando são muito flexíveis, pois são passados ​​como strings para o seu programa e os tipos de dados de string podem ser facilmente convertidos em outros tipos.

Ele permite que você passe informações para um aplicativo antes de iniciar e também pode passar um número ilimitado de argumentos através da linha de comando.

Qual é o exemplo de sintaxe dos argumentos da linha de comando?

Aqui está um exemplo de sintaxe, como os argumentos da linha de comando se parecem:

 [Runtime] [script_name] [argumento-1 argumento-3… argument-n] 

Os argumentos são separados pelo espaço e o tempo de execução pode ser qualquer coisa como sh, java, nó, etc.

Como analisar os argumentos da linha de comando no nó.JS

Aqui vamos ver primeiro para analisar argumentos usando processo.argv e mais tarde com yargs e minimista.

1. Analisar argumentos usando o processo.argv

Usando processo.argv é a maneira mais simples de analisar argumentos no nó.JS e você não precisam instalar nenhum pacote ou biblioteca adicional para isso. Você apenas passa argumentos para um nó.Aplicação JS e esses argumentos são tratados por processo.argv por padrão.

Existem três elementos principais do processo.Argv Array:

  • Primeiro, caminho do sistema de arquivos apontando para o nó executável.
  • Segundo o nome do arquivo JavaScript que está sendo executado.
  • Terceiro, o primeiro argumento que é aprovado pelo usuário.

Exemplo - Escreveremos um script de nó simples que imprimirá todos os argumentos da linha de comando passados ​​para o aplicativo.

  • Crie um arquivo chamado 'Processargv.js ' e cole o seguinte código. 'Use rigoroso'; para (vamos j = 0; j ' + (processo.argv [j]));
    1234'Use rigoroso'; para (vamos j = 0; j < process.argv.length; j++) console.log(j + ' -> ' + (processo.argv [j]));

  • Agora execute 'processArgv.JS 'usando o seguinte comando, passando pelo argumento.
    node processargv.js eu sou nó  

    Aqui estamos passando três argumentos para o arquivo e, como resultado, você verá que 'i', 'am', 'nó' é armazenado nos 2º, 3º e 4º índices, respectivamente,. E a saída será assim:

2. Argumentos passando usando yargs

Yargs é um nó.Módulo JS que pode ajudá -lo a passar argumentos. Ele permite que você passe argumentos na forma de pares de valor-chave e você pode até acessar os valores de argumento posteriormente no programa usando as chaves.

  • Instale o módulo Yargs usando este comando.
    npm i yargs  
  • Agora salve o código abaixo em um arquivo nomeado 'Yargs.js ' E enquanto executa o programa, forneceremos valores para o nome e a idade. 'Use rigoroso'; const args = requer ('yargs').argv; console.log ('nome:' + args.nome); console.log ('idade:' + args.idade);
    123456'Use rigoroso'; const args = requer ('yargs').argv; console.log ('nome:' + args.nome); console.log ('idade:' + args.idade);

  • Para executar o seguinte comando, execute o seguinte código em seu prompt. Estamos passando os valores para o nome e a idade.
    nó yargs.js -name = node --age = 15  

    A saída será assim:

Para entender características mais avançadas de yargs Visite este guia avançado.

3. Parsing argumentos usando módulo minimista

Outra maneira de analisar argumentos da linha de comando para o nó.Os aplicativos JS são usando o módulo minimista. Ele analisa os argumentos do processo.Argv Matriz e depois a transfere para uma matriz associativa fácil de usar. Esta matriz associativa pode ser usada para acessar os elementos usando nomes de índices.

  • Instale o módulo minimista usando este comando.
    npm i minimista  
  • Agora salve o seguinte script nomeado 'minimista.js '. Aqui estamos usando o método Slice que removerá todos os elementos anteriores da matriz, começando pelo índice passados ​​para ele como o parâmetro. 'Use rigoroso'; const args = requer ('minimist') (processo.argv.fatia (2)); console.log (args.eu); console.log (args.n);
    123456'Use rigoroso'; const args = requer ('minimist') (processo.argv.fatia (2)); console.log (args.i); console.log (args.n);

  • Ao passar o argumento, também podemos especificar o personagem pelo qual queremos acessar os elementos. Aqui vamos especificar 'i' como o nome do segundo índice e depois 'n' como o nome do terceiro índice. Assim:
    minimista do nó.JS -i Node -N 15  

    A saída será assim:

No entanto minimista não tem tantos recursos ricos quanto yargs Ainda você pode usá -lo para facilitar seu trabalho. Para informações mais detalhadas sobre a visita minimista aqui.

Conclusão

A análise de argumentos é um tópico simples e importante se você trabalhar no nó.JS. Existem várias opções disponíveis para facilitar seu trabalho. Portanto, escolha de acordo com suas necessidades, se você quiser recursos ricos e avançados, então vá com yargs Caso contrário, escolha do processo.argv e minimista.