Cómo leer variables de entorno desde Node.js
El módulo central process
de Node.js proporciona la propiedad env
que alberga 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 estará configurando 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, puede acceder a cualquier variable de entorno personalizada que establezca. Node.js 20 introdujo soporte experimental para archivos .env.
Ahora, puede usar la bandera --env-file
para especificar un archivo de entorno al ejecutar su aplicación Node.js. Aquí hay un ejemplo de archivo .env
y cómo acceder a sus variables usando process.env
.
.env archivo
PORT=3000
En su archivo js
process.env.PORT; // 3000
Ejecute 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, puede 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 se define en el entorno y en el archivo, el valor del entorno tiene prioridad.