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 mundoobtendrías:
0: path/to/node.exe
1: /path/to/myscript.js
2: hola
3: mundoPara 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
- Documentación de Node.js para
process.argv: https://nodejs.org/docs/latest/api/process.html#process_process_argv yargsGitHub repo: https://github.com/yargs/yargscommanderGitHub repo: https://github.com/tj/commander.js