Parsing argomenti in Node.js con commander

Mattepuffo's logo
Parsing argomenti in Node.js con commander

Parsing argomenti in Node.js con commander

Commander è una libreria per Node.js che ci consente di eseguire il parsing della riga di comando, inteso come i parametri che gli vogliamo passare.

Possiamo installarla tramite npm:

npm i commander

Qui sotto un esempio di codice Javscript:

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

program
    .command('print')
    .description('TEST')
    .argument('<nome>', 'Nome da visualizzare')
    .option('--nome')
    .option('--separator <char>')
    .action((str, options) => {
        const limit = options.first ? 1 : undefined;
        console.log(str.split(options.separator, limit));
    });

program.parse();

In pratica print è il comando, e poi ci sono i due parametri, di cui --nome è obbligatorio.

Qui sotto un pò di esempi di lancio con il conseguente output:

node main.js print -s=/ --nome matteo
[ 'matteo' ]

node main.js print --separator=/ --nome matteo/franco
[ 'matteo', 'franco' ]

 node main.js print --separator=- --nome matteo/franco
[ 'matteo/franco' ]

node main.js print --nome matteo/franco              
[ 'matteo/franco' ]

node main.js print                     
error: missing required argument 'nome'

Inoltre abbiamo anche l'help:

node main.js print -h
Usage: main print [options] <nome>        
                                          
TEST                                      
                                          
Arguments:                                
  nome                Nome da visualizzare
                                          
Options:                                  
  --nome                                  
  --separator <char>
  -h, --help          display help for command

Enjoy!


Condividi

Commentami!