Importante

viernes, 12 de mayo de 2023

nest configuracion


$ npm i --save @nestjs/config
creo el arcivo .env para cargar las variables de entornos en la base del proyecto

se crea la primera variable de entorno PORT:3000

#confiuracion de la aplicacion
PORT =3000
ahora vamos al appModule para configurar
import { Module } from '@nestjs/common';
// importo el type Ormmodule para hacer las base de datos
import { TypeOrmModule } from '@nestjs/typeorm';
// mis modulos
import { TwitsModule } from './modules/twits/twits.module';
import { UsersModule } from './modules/users/users.module';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    // importo el modulo para poder usarlo
    ConfigModule.forRoot({
      //paso un argumento
      isGlobal: true, // sirve para hacer de uso global las variabkles
    }),


ahora en appmodule hago un cosntructor
export class AppModule {
  constructor(){}
}

Ahora en el constructor injecto el confit serve para usarlo
export class AppModule {
  constructor(private readonly configService: ConfigService) {}
}


es importamte tener mportado 

import { ConfigModule, ConfigService } from '@nestjs/config';

hagamos una propiedad estática port de tipo number
export class AppModule {
  static port:number;
  constructor(private readonly configService: ConfigService) {
   
  }
}
 ahola le asigno a esta propiedad estática un valor 

export class AppModule {
  static port: number;
  constructor(private readonly configService: ConfigService) {
    //PORT viene del archivo .env creado
    AppModule.port = this.configService.get('PORT');
  }
}

ahora agrego un signo de + delante de this. para garantizar que el valor sea castiado a number
export class AppModule {
  static port: number;
  constructor(private readonly configService: ConfigService) {
    //PORT viene del archivo .env creado
    AppModule.port = +this.configService.get('PORT');
  }
}




ahora vamos al main.ts ys sutituir 3000 por port

 antes 

  await app.listen(3000);

ahora debe quedar asi
  await app.listen(AppModule.port);



0 comentarios:

Publicar un comentario