Lectura de argumentos de línea de comandos

JavaScript:
Lectura de argumentos de línea de comandos

Cómo:

Node.js te da acceso a los argumentos de la línea de comandos a través de process.argv. Vamos directo al código:

// myscript.js

// Imprimimos todos los argumentos de la línea de comandos
process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`);
});

Si corres este script con:

node myscript.js hola mundo

obtendrías:

0: path/to/node.exe
1: /path/to/myscript.js
2: hola
3: mundo

Para ignorar los dos primeros argumentos (que son el propio Node y el script), haz esto:

// Solo argumentos de usuario
const userArgs = process.argv.slice(2);
console.log(userArgs);

Con el mismo comando de antes, ahora verías:

[ 'hola', 'mundo' ]

Análisis Profundo

Antes de Node.js, leíamos parámetros en la web con query strings o en otros entornos, con APIs específicas del lenguaje; pero Node.js simplificó todo con process.argv.

Si necesitas algo más robusto, hay bibliotecas como yargs o commander que te ayudan a parsear los argumentos de manera más sofisticada y con menos código propio.

Para acceder a variables de entorno, usarías process.env. Ambos, process.argv y process.env, son parte de la API global de Node.js, por lo que no requieren require.

Ver También