Importante

sábado, 13 de mayo de 2023

nest creacion de modulos

 es buena práctica crear un modulo aparte por cada entidad. y cargarlo en el modulo principal esto ayuda al mantenimiento y escalabilidad de la aplicación.

en el presente ejemplo crearemos dos modulos cuyas tablas estarán relacionadas con una relación uno a muchos, donde un user podrá escribir multiples tareas.  

lo primero que haremos es crear los Modulos con 

nest generate module user

nest generate module task

Los resultadros serán: en consolo los siguientes:

PS C:\Users\Usuario\Desktop\pro> nest generate module user

CREATE src/user/user.module.ts (81 bytes)

UPDATE src/app.module.ts (459 bytes)

PS C:\Users\Usuario\Desktop\pro> nest generate module task

CREATE src/task/task.module.ts (81 bytes)

UPDATE src/app.module.ts (520 bytes)

PS C:\Users\Usuario\Desktop\pro> 


Como notarás en ambos caso se genera una nueva a carpeta dentro de src, dentro de la cual se genra el modulo user y task. además se modifica el modulp principal app.module agregando los modulos creados.

Si abrimos los modulos creados tendrán los siguientes aspectos:

import { Module } from '@nestjs/common';

@Module({})
export class UserModule {}

import { Module } from '@nestjs/common';

@Module({})
export class TaskModule {}


observa que los modulos son son más que un @module y una clase exportable

el app.module ahora lucirá así

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
//importo el moduloconfigMOdule

import { AppConfigModule } from './config.module';
import { UserModule } from './user/user.module';
import { TaskModule } from './task/task.module';

@Module({
  imports: [AppConfigModule, UserModule, TaskModule],

  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}


observa que los modelos ya han sido incorporados dentro de este modulo dentro de imports:[],

desde ahora todo lo que se genere dentro de los modelos app.modulo lo porá usar.

0 comentarios:

Publicar un comentario