Skip to content

Cómo leer variables de entorno desde Node.js

El módulo central process de Node.js proporciona la propiedad env que aloja todas las variables de entorno que se establecieron en el momento en que se inició el proceso.

El siguiente código ejecuta app.js y establece USER_ID y USER_KEY.

bash
USER_ID=239482 USER_KEY=foobar node app.js

Eso pasará el usuario USER_ID como 239482 y la USER_KEY como foobar. Esto es adecuado para pruebas, sin embargo, para producción, probablemente configurarás algunos scripts bash para exportar variables.

NOTA

process no requiere un "require", está disponible automáticamente.

Aquí hay un ejemplo que accede a las variables de entorno USER_ID y USER_KEY, que establecimos en el código anterior.

javascript
process.env.USER_ID // "239482
process.env.USER_KEY // "foobar

De la misma manera, puedes acceder a cualquier variable de entorno personalizada que establezcas. Node.js 20 introdujo soporte experimental para archivos .env.

Ahora, puedes usar el flag --env-file para especificar un archivo de entorno al ejecutar tu aplicación Node.js. Aquí hay un ejemplo de archivo .env y cómo acceder a sus variables usando process.env.

bash
.env file
PORT=3000

En tu archivo js

javascript
process.env.PORT // 3000

Ejecuta el archivo app.js con las variables de entorno establecidas en el archivo .env.

js
node --env-file=.env app.js

Este comando carga todas las variables de entorno del archivo .env, haciéndolas disponibles para la aplicación en process.env. Además, puedes pasar múltiples argumentos --env-file. Los archivos posteriores sobrescriben las variables preexistentes definidas en archivos anteriores.

bash
node --env-file=.env --env-file=.development.env app.js

NOTA

si la misma variable está definida en el entorno y en el archivo, el valor del entorno tiene prioridad.