command-line-args vale uma olhada!
Você pode definir opções usando os principais padrões de notação ( saiba mais ). Esses comandos são todos equivalentes, configurando os mesmos valores:
$ example --verbose --timeout=1000 --src one.js --src two.js
$ example --verbose --timeout 1000 --src one.js two.js
$ example -vt 1000 --src one.js two.js
$ example -vt 1000 one.js two.js
Para acessar os valores, primeiro crie uma lista de definições de opções descrevendo as opções que seu aplicativo aceita. A type
propriedade é uma função setter (o valor fornecido é passado por isso), fornecendo controle total sobre o valor recebido.
const optionDefinitions = [
{ name: 'verbose', alias: 'v', type: Boolean },
{ name: 'src', type: String, multiple: true, defaultOption: true },
{ name: 'timeout', alias: 't', type: Number }
]
Em seguida, analise as opções usando commandLineArgs () :
const commandLineArgs = require('command-line-args')
const options = commandLineArgs(optionDefinitions)
options
agora se parece com isso:
{
src: [
'one.js',
'two.js'
],
verbose: true,
timeout: 1000
}
Uso avançado
Além do uso típico acima, você pode configurar argumentos de linha de comando para aceitar formulários de sintaxe mais avançados.
Sintaxe baseada em comando (estilo git) no formato:
$ executable <command> [options]
Por exemplo.
$ git commit --squash -m "This is my commit message"
Sintaxe de comando e subcomando (estilo docker) no formato:
$ executable <command> [options] <sub-command> [options]
Por exemplo.
$ docker run --detached --image centos bash -c yum install -y httpd
Geração de guia de uso
Um guia de uso (normalmente impresso quando --help
definido) pode ser gerado usando o uso da linha de comando . Veja os exemplos abaixo e leia a documentação para obter instruções sobre como criá-los.
Um exemplo típico de guia de uso.
O guia de uso do polímero-cli é um bom exemplo da vida real.
Leitura adicional
Há muito mais para aprender, consulte o wiki para exemplos e documentação.