Nodo, acepta argumentos de la línea de comando

Cómo aceptar argumentos en un programa Node.js pasados desde la línea de comando

Puede pasar cualquier número de argumentos al invocar una aplicación Node.js usando

node app.js

Los argumentos pueden ser independientes o tener una clave y un valor.

Por ejemplo:

node app.js flavio

o

node app.js name=flavio

Esto cambia la forma en que recuperará este valor en el código de nodo.

La forma en que lo recupera es utilizando elprocessobjeto integrado en Node.

Expone unargvpropiedad, que es una matriz que contiene todos los argumentos de invocación de la línea de comandos.

El primer argumento es la ruta completa delnodemando.

El segundo elemento es la ruta completa del archivo que se está ejecutando.

Todos los argumentos adicionales están presentes desde la tercera posición en el futuro.

Puede iterar sobre todos los argumentos (incluida la ruta del nodo y la ruta del archivo) mediante un bucle:

process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`)
})

Puede obtener solo los argumentos adicionales creando una nueva matriz que excluya los primeros 2 parámetros:

const args = process.argv.slice(2)

Si tiene un argumento sin un nombre de índice, así:

node app.js flavio

puedes acceder a él usando

const args = process.argv.slice(2)
args[0]

En este caso:

node app.js name=flavio

args[0]esname=flavio, y necesita analizarlo.

La mejor forma de hacerlo es utilizando elminimistbiblioteca, que ayuda a lidiar con los argumentos:

const args = require('minimist')(process.argv.slice(2))
args['name'] //flavio

Descarga mi gratisManual de Node.js


Más tutoriales de nodos: