CodeAventura
Node.js
▸Primeros pasos con Node.js▸Argumentos de la terminal

Misión

// Lee un argumento de la terminal
// Prueba: node index.js TuNombre
// También prueba sin argumento: node index.js

TerminalTema: Vintage
03 / 15Argumentos de la terminal
Anterior

Argumentos de la terminal

Programas que escuchan

Hasta ahora, tus scripts hacen siempre lo mismo cada vez que los ejecutas. Pero los programas reales necesitan recibir información del exterior.

Piensa en un comando como git commit -m "primer commit". Ahí, -m y "primer commit" son argumentos — datos que le pasas al programa para que haga algo específico.

En Node.js, tus scripts pueden recibir argumentos de la misma forma.

process.argv: la puerta de entrada

Cuando ejecutas un script con argumentos:

Node.js guarda toda esa información en un array llamado process.argv. Si lo imprimes, verás algo así:

El array siempre tiene esta estructura:

PosiciónContenido
[0]Ruta del ejecutable de Node
[1]Ruta del archivo que se ejecuta
[2]Tu primer argumento
[3]Tu segundo argumento
...Y así sucesivamente

Lo que a ti te interesa empieza en la posición 2.

Un ejemplo práctico

Imagina que quieres hacer un script que salude a quien le digas:

Prueba ejecutarlo de dos formas en la terminal:

La primera vez recibirá el argumento "Ana". La segunda vez, process.argv[2] será undefined, y tu programa mostrará las instrucciones de uso. Eso es exactamente lo que hacen las herramientas profesionales.

¿Para qué sirve esto en la vida real?

Casi todas las herramientas de línea de comandos usan argumentos:

Cuando creas un script que acepta argumentos, estás construyendo tu propia herramienta CLI. Es el primer paso hacia crear utilidades que otros desarrolladores (o tú mismo) puedan usar desde la terminal.

Tu desafío 🚀

  1. Lee process.argv[2] y guárdalo en una variable
  2. Si hay argumento, muestra un mensaje personalizado que lo incluya
  3. Si no hay argumento, muestra un mensaje indicando cómo usar el script
  4. Prueba ambos casos en la terminal: node index.js TuNombre y node index.js

Ahora tus programas no son estáticos — pueden reaccionar a lo que el usuario les diga. Eso es poder real.