Dica: Argumentos em scripts CLI com node.js

Naturalmente, para obter os argumentos de linha de comando com node.js é necessário acessar a propriedade argv do objeto process:

// Mostra todos (incluindo o comando node e o nome do arquivo)
console.log(process.argv)

// Mostra o nome do parâmetro -t
console.log(process.argv[2])

O resultado do script acima é:

[ 'node', '/Users/adler/dev/exemplos/argv.js', '-t' ]
-t

É possível observar que tratar estes parâmetros na mão é um pouco trabalhoso pois precisamos lidar com cada argumento acessando-os elemento-por-elemento do array e isso demanda certo esforço, para diminuir este trabalho pode-se utilizar a lib node-optimist.

Esta biblioteca é open-source e facilita muito o trabalho, veja o exemplo abaixo que é de uma pequena app que estou criando e cujo código disponibilizarei como open-source em breve:

var argv = require('optimist')
    .usage('Usage: $0 -t template_name -n name -c content')
    .demand(['t','n','c'])
    .argv;
	
try {	
    processTemplate.do(argv.t, argv.n, argv.c);
    console.log("Done!");
} catch (err) {
    console.log(err);
}

Simples não?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>