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
.
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.
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
.
.env file
PORT=3000
En tu archivo js
process.env.PORT // 3000
Ejecuta el archivo app.js
con las variables de entorno establecidas en el archivo .env
.
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.
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.