Cómo analizar los argumentos de la línea de comandos en el nodo.js

Cómo analizar los argumentos de la línea de comandos en el nodo.js

Nodo.JS es un marco de E/S asincrónico basado en eventos, de código abierto y asincrónico que utiliza el motor JavaScript V8 de Google. Lo usamos para desarrollar aplicaciones que usen JavaScript tanto en los lados del servidor como del cliente. Nodo.Las aplicaciones JS están escritas en JavaScript.

Nodo.Las aplicaciones JS también aceptan argumentos de línea de comandos como cualquier otro lenguaje de programación. Por defecto, nodo.JS puede manejar sus argumentos, pero si desea algunas características adicionales, puede usar herramientas y paquetes de terceros como yargs y minimista. En este artículo, veremos cómo puede analizar los argumentos de la línea de comando en el nodo.JS usando proceso.argv, yargs, y minimista.

¿Qué son los argumentos de la línea de comandos??

Un argumento de línea de comandos es una cadena de información o comandos adicionales que se pasan en un programa mientras lo ejecutan a través de la interfaz de línea de comandos (CLI) de un sistema operativo. Estos argumentos generalmente incluyen información utilizada para establecer valores de propiedad o configuración para una aplicación.

En nodo.JS, todos los argumentos de la línea de comandos dados al shell se envían al proceso en una matriz llamada 'Valores de argumento (argv).'Nodo posterior.JS usa esta matriz para cada proceso en ejecución en forma de proceso.Argv o puede decir que los argumentos se almacenan por defecto en el proceso.argv.

Por qué usar argumentos de línea de comandos?

Los argumentos de la línea de comandos son muy flexibles a medida que se pasan, ya que las cadenas a su programa y los tipos de datos de cadena se pueden convertir fácilmente a otros tipos.

Le permite pasar información a una aplicación antes de que comience y también puede aprobar un número ilimitado de argumentos a través de la línea de comandos.

¿Cuál es la sintaxis de ejemplo de argumentos de línea de comandos??

Aquí hay una sintaxis de ejemplo, cómo se ven los argumentos de la línea de comandos:

 [Runtime] [script_name] [argumento-1 argumento-2 argumento-3 ... argumento-n] 

Los argumentos están separados por el espacio y el tiempo de ejecución podría ser algo así como SH, Java, Node, etc.

Cómo analizar los argumentos de la línea de comandos en el nodo.js

Aquí veremos primero para analizar los argumentos usando proceso.argv y más tarde con yargs y minimista.

1. Argumentos de análisis utilizando el proceso.argv

Usando proceso.argv es la forma más simple de analizar los argumentos en el nodo.JS y no necesita instalar ningún paquete o biblioteca adicional para eso. Simplemente pasas argumentos a un nodo.Aplicación JS y estos argumentos se manejan por proceso.argv por defecto.

Hay tres elementos principales de proceso.Array de Argv:

  • Primero, la ruta del sistema de archivos apunta al ejecutable de nodo.
  • Segundo el nombre del archivo JavaScript que se está ejecutando.
  • Tercero, el primer argumento que pasa el usuario.

Ejemplo - Escribiremos un script de nodo simple que imprimirá todos los argumentos de la línea de comandos pasados ​​a la aplicación.

  • Crea un archivo llamado 'Processargv.js ' y pegar el siguiente código. 'Use estricto'; para (dejar j = 0; j ' + (proceso.argv [j]));
    1234'Use estricto'; para (Let J = 0; J < process.argv.length; j++) console.log(j + ' -> ' + (proceso.argv [j]));

  • Ahora ejecutar 'processargv.JS usa el siguiente comando mediante un argumento pasajero.
    nodo processargv.js soy nodo  

    Aquí estamos pasando tres argumentos al archivo y, como resultado, verá que 'i', 'am', 'nodo' se almacena en los índices 2, tercero y cuarto respectivamente. Y la salida se verá así:

2. Pasando argumentos usando yargs

Yargs es un nodo.módulo JS que puede ayudarlo a pasar argumentos. Le permite aprobar argumentos en forma de pares de valores clave e incluso puede acceder a los valores de argumento más adelante en el programa utilizando las teclas.

  • Instale el módulo YARGS usando este comando.
    npm i yargs  
  • Ahora guarde el siguiente código en un archivo llamado 'Yargs.js ' y al ejecutar el programa proporcionaremos valores para el nombre y la edad. 'Use estricto'; const args = requerir ('yargs').argv; consola.Log ('Nombre:' + Args.nombre); consola.log ('edad:' + args.edad);
    123456'Use estricto'; const args = requerir ('yargs').argv; consola.Log ('Nombre:' + Args.nombre); consola.log ('edad:' + args.edad);

  • Para ejecutar el siguiente comando, ejecute el siguiente código en su aviso. Estamos pasando los valores para el nombre y la edad.
    nodo yargs.js - -name = node --age = 15  

    La salida se verá así:

Para comprender las características más avanzadas de yargs Visite esta guía avanzada.

3. Anguinización de argumentos utilizando módulo minimista

Otra forma de analizar los argumentos de la línea de comandos al nodo.JS Aplications es utilizando el módulo minimista. Analiza los argumentos del proceso.Array de Argv y luego lo transfiere a una matriz asociativa fácil de usar. Esta matriz asociativa se puede usar para acceder a los elementos utilizando nombres de índice.

  • Instale el módulo minimista utilizando este comando.
    NPM I Minimista  
  • Ahora guarde el siguiente script con nombre 'Minimista.js '. Aquí estamos utilizando el método Slice que eliminará todos los elementos de matriz anteriores que comienzan desde el índice que se le pasó como parámetro. 'Use estricto'; const args = requirir ('minimista') (proceso.argv.rebanada (2)); consola.registro (args.i); consola.registro (args.norte);
    123456'Use estricto'; const args = requirir ('minimista') (proceso.argv.rebanada (2)); consola.registro (args.i); consola.registro (args.norte);

  • Al pasar el argumento, también podemos especificar el carácter por el cual queremos acceder a los elementos. Aquí especificaremos 'i' como el nombre del segundo índice y luego 'n' como el nombre del tercer índice. Como esto:
    nodo minimista.js -i nodo -n 15  

    La salida se verá así:

Aunque minimista no tiene tantas características ricas como yargs Aún así, puede usarlo para facilitar su trabajo. Para obtener información más detallada sobre la visita minimista aquí.

Conclusión

El análisis de argumentos es un tema simple e importante si trabaja en el nodo.js. Hay múltiples opciones disponibles para facilitar su trabajo. Así que elija de acuerdo con sus necesidades si desea funciones ricas y avanzadas, entonces vaya con yargs De lo contrario, elija entre el proceso.argv y minimista.