Configuración de variables de entorno para que Node las recupere
Estoy intentando seguir un tutorial y dice:
Hay algunas formas de cargar credenciales.
- Cargado desde variables de entorno,
- Cargado desde un archivo JSON en el disco,
Las claves deben ser las siguientes:
USER_ID, USER_KEY
...Esto significa que si configura correctamente las variables de entorno, no necesita administrar las credenciales en su aplicación en absoluto.
Según algunas búsquedas en Google, parece que necesito configurar las variables en process.env
? ¿Cómo y dónde configuro estas credenciales? Ejemplo por favor.
Las variables de entorno (en este caso) se utilizan para pasar credenciales a su aplicación. USER_ID
y USER_KEY
se puede acceder a ambos desde process.env.USER_ID
y process.env.USER_KEY
respectivamente. No es necesario editarlos, simplemente acceder a su contenido.
Parece que simplemente le están dando la opción de cargar su archivo USER_ID
o USER_KEY
desde process.env
algún archivo específico en el disco.
Ahora, la magia ocurre cuando ejecutas la aplicación.
USER_ID=239482 USER_KEY=foobar node app.js
Eso pasará la identificación de usuario 239482
y la clave de usuario como foobar
. Esto es adecuado para pruebas; sin embargo, para producción, probablemente deberá configurar algunos scripts bash para exportar variables.
Recomiendo encarecidamente investigar el paquete dotenv.
https://github.com/motdotla/dotenv
Es algo similar a la biblioteca sugerida en la respuesta de @Benxamin, pero es mucho más limpia y no requiere ningún script bash. También vale la pena señalar que la base del código es popular y está bien mantenida.
Básicamente necesitas un archivo .env (que recomiendo encarecidamente ignorar en tu git/mercurial/etc):
FOO=bar
BAZ=bob
Luego, en el archivo de entrada de su solicitud, coloque la siguiente línea lo antes posible:
require('dotenv').config();
Auge. Hecho. 'process.env' ahora contendrá las variables anteriores:
console.log(process.env.FOO);
// bar
El archivo '.env' no es necesario, por lo que no necesita preocuparse de que su aplicación se caiga en su ausencia.