Trabajar con variables de entorno será siempre la forma más correcta y segura de pasarle a nuestra aplicación los datos sensibles de conexión a bases de datos o claves secretas.
Pasaje de variables de entorno en NestJS
Veamos cómo se realiza la configuración de variables de entorno en NestJS.
Paso 1: instalación de NestJS Config
Asegúrate de instalar la dependencia npm i --save @nestjs/config. Esta te permitirá crear en la raíz de tu proyecto el archivo .env, que contendrá las variables de entorno que tu aplicación necesita.
De esta manera, ya tienes disponible en tu aplicación para utilizar las variables de entorno que hayas definido en el archivo .env a través del objeto global de NodeJS process de la siguiente manera:
Recuerda no versionar en el repositorio de tu proyecto el archivo .env que contiene datos sensibles como contraseñas o accesos privados. Tu aplicación está lista para conectarse a múltiples ambientes de desarrollo a través de variables de ambiente.
Contribución creada por: Kevin Fiorentino.
Código de ejemplo para variables de ambiente en Mongo
Variables de Entorno para Configuración de MongoDB en Node.js
Recursos
Resumen
Trabajar con variables de entorno será siempre la forma más correcta y segura de pasarle a nuestra aplicación los datos sensibles de conexión a bases de datos o claves secretas.
Pasaje de variables de entorno en NestJS
Veamos cómo se realiza la configuración de variables de entorno en NestJS.
Paso 1: instalación de NestJS Config
Asegúrate de instalar la dependencia npm i --save @nestjs/config. Esta te permitirá crear en la raíz de tu proyecto el archivo .env, que contendrá las variables de entorno que tu aplicación necesita.
Importa el ConfigModule en el módulo principal de tu aplicación para leer correctamente el archivo .env.
// app.module.ts
import { ConfigModule } from '@nestjs/config';
@Module({
imports: [
ConfigModule.forRoot(),
]
})
export class AppModule {}
Paso 3: utilización de las variables de entorno
De esta manera, ya tienes disponible en tu aplicación para utilizar las variables de entorno que hayas definido en el archivo .env a través del objeto global de NodeJS process de la siguiente manera:
Recuerda no versionar en el repositorio de tu proyecto el archivo .env que contiene datos sensibles como contraseñas o accesos privados. Tu aplicación está lista para conectarse a múltiples ambientes de desarrollo a través de variables de ambiente.
Contribución creada por: Kevin Fiorentino.
Código de ejemplo para variables de ambiente en Mongo
[MONGODB DRIVER] Warning: Current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring
engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
[MONGODB DRIVER] Warning: Current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
por que seria mejor tener las variables de entorno (aunque igual aplica para otras constantes) en un registerAs('config') y tener que inyectar donde se utilice, en lugar de tener un archivo "config.ts"
Donde se defina por ejemplo:
Estimado Maestro Nicolas, Cómo puedo implementar esta configuración con fFirestore de Firebase, hay algunas limitantes cuando intento hacerlo con el configServices