¡ vale la pena echar un vistazo a command-line-args !
Puede establecer opciones utilizando los principales estándares de notación ( más información ). Todos estos comandos son equivalentes y establecen los mismos 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 acceder a los valores, primero cree una lista de definiciones de opciones que describan las opciones que acepta su aplicación. La type
propiedad es una función de establecimiento (el valor proporcionado se pasa a través de esto), lo que le brinda control total sobre el valor recibido.
const optionDefinitions = [
{ name: 'verbose', alias: 'v', type: Boolean },
{ name: 'src', type: String, multiple: true, defaultOption: true },
{ name: 'timeout', alias: 't', type: Number }
]
A continuación, analice las opciones usando commandLineArgs () :
const commandLineArgs = require('command-line-args')
const options = commandLineArgs(optionDefinitions)
options
ahora se ve así:
{
src: [
'one.js',
'two.js'
],
verbose: true,
timeout: 1000
}
Uso avanzado
Además del uso típico anterior, puede configurar comandos-line-args para aceptar formas de sintaxis más avanzadas.
Sintaxis basada en comandos (estilo git) en la forma:
$ executable <command> [options]
Por ejemplo.
$ git commit --squash -m "This is my commit message"
Sintaxis de comando y subcomando (estilo docker) en la forma:
$ executable <command> [options] <sub-command> [options]
Por ejemplo.
$ docker run --detached --image centos bash -c yum install -y httpd
Guía de uso de generación
Se --help
puede generar una guía de uso (generalmente impresa cuando se configura) usando el uso de la línea de comandos . Vea los ejemplos a continuación y lea la documentación. para obtener instrucciones sobre cómo crearlos.
Un ejemplo típico de guía de uso.
La guía de uso de polímero-cli es un buen ejemplo de la vida real.
Otras lecturas
Hay mucho más que aprender, consulte la wiki para ver ejemplos y documentación.