Encapsular lógica en módulos

3/17
Recursos

La aplicación debería quedar organizada así:

Donde los módulos deberían quedar asi:

// src/products/products.module.ts
import { Module } from '@nestjs/common';

import { ProductsController } from './controllers/products.controller';
import { BrandsController } from './controllers/brands.controller';
import { CategoriesController } from './controllers/categories.controller';
import { ProductsService } from './services/products.service';
import { BrandsService } from './services/brands.service';
import { CategoriesService } from './services/categories.service';

@Module({
  controllers: [ProductsController, CategoriesController, BrandsController],
  providers: [ProductsService, BrandsService, CategoriesService],
  exports: [ProductsService],
})
export class ProductsModule {}
// src/users/users.module.ts
import { Module } from '@nestjs/common';

import { CustomerController } from './controllers/customers.controller';
import { CustomersService } from './services/customers.service';
import { UsersController } from './controllers/users.controller';
import { UsersService } from './services/users.service';

import { ProductsModule } from '../products/products.module';

@Module({
  imports: [ProductsModule],
  controllers: [CustomerController, UsersController],
  providers: [CustomersService, UsersService],
})
export class UsersModule {}
// src/app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UsersModule } from './users/users.module';
import { ProductsModule } from './products/products.module';

@Module({
  imports: [UsersModule, ProductsModule],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

Aportes 13

Preguntas 11

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

están mal las clases, ésta debería de ser la clase 2 y la 2 debería ser la 3, creería yo.

La aplicación debería quedar organizada así:

Para crear controladores dentro de un modulo con el cli puedes usar esto:

nest g co controllers/users users

Pasando como proximo parametro el modulo donde quieres que se cree el controlador.

Colombia S.O.S

Hace tiempo un framework no me llamaba tanto la atención como NEST! Increíble la consistencia del código

Entiendo que al modularizar por “Dominios” podemos ir facilmente a una arquitectura con microservicios 😄

Esta deberia ser la clase 2, no la 3. Aca esta explicando algo que se usa en la clase 2. Se debe arreglar esto.

La modularidad se refiere al proceso de dividir el sistema en varios módulos capa por capa de arriba a abajo cuando se resuelve un problema complejo

Dentro de cada carpeta crear las subcarpetas : controllers , entities, services, dtos

Generar un nuevo modulo desde el CLI (terminal)

Decorador @Module que tiene 4 atributos: imports, controllers, providers y exports (este ultimo para conectar con otro modulo)

Estado actual de la aplicación sin programación modular

👏