CodeAventura
Node.js
▸Tu proyecto Node▸Variables de entorno con process.env

Misión

// Tu sistema ya tiene variables de entorno definidas.
// Muestra alguna por consola, por ejemplo:
// console.log('Home:', process.env.HOME);

TerminalTema: Vintage
09 / 15Variables de entorno con process.env
Anterior

Variables de entorno: configurar sin tocar el código

El problema de los valores fijos

Imagina que tu servidor escucha en el puerto 3000. Lo escribes directamente en el código:

Funciona perfecto en tu máquina. Pero cuando lo subes a producción, el proveedor de hosting te dice: "tu app debe escuchar en el puerto que nosotros te asignemos". Y ese puerto cambia según el servidor.

¿Vas a cambiar el código cada vez que cambies de entorno? No. Para eso existen las variables de entorno.

process.env: el puente entre el sistema y tu código

En Node.js, process.env es un objeto que contiene todas las variables de entorno del sistema. Puedes acceder a cualquiera de ellas:

Las variables de entorno no están en tu código — viven en el sistema. Tu código simplemente las lee.

El patrón más común: leer con fallback

En la vida real, no puedes asumir que una variable de entorno existe. ¿Qué pasa si estás en tu máquina local y nadie definió PORT? Tu app se rompe.

Por eso se usa siempre un valor por defecto:

El operador || dice: "usa process.env.PORT si existe, si no, usa 3000". Así tu app funciona en cualquier entorno sin cambiar una línea de código.

Variables de entorno comunes

Estos son nombres que verás en prácticamente todo proyecto Node:

VariablePara qué sirve
PORTPuerto del servidor
NODE_ENVEntorno: development, production, test
DATABASE_URLConexión a la base de datos
API_KEYClaves de servicios externos
SECRETClave secreta para tokens/sesiones

Definir variables de entorno

Hay varias formas de pasar variables a tu script:

Directamente en la terminal:

En un archivo .env (con la librería dotenv):

En la configuración del hosting (Vercel, Railway, Heroku, etc.): Cada plataforma tiene su panel para definir variables de entorno sin tocar código.

Una regla de oro

Las variables de entorno son para configuración, no para lógica. Cosas como:

  • Puertos y URLs
  • Claves de API y secretos
  • Flags de entorno (development vs production)

Nunca pongas contraseñas, claves API o secretos directamente en tu código. Si subes ese archivo a GitHub, cualquiera puede verlos. Las variables de entorno mantienen esa información fuera del código fuente.

Tu desafío 🚀

No necesitas definir ninguna variable — tu sistema ya tiene muchas. Ejecuta esto para verlas todas:

Verás un objeto enorme. Algunas que seguro tienes disponibles:

VariableQué contiene
HOMETu directorio personal
PATHLas rutas donde el sistema busca ejecutables

Tu tarea: en index.js, muestra por consola al menos una de estas variables con un mensaje descriptivo. Por ejemplo:

Ejecuta node index.js para verlo.

Las variables de entorno son la forma profesional de configurar aplicaciones. Un mismo código, infinitos entornos.