NestJS es un marco de aplicaciones de servidor web desarrollado con TypeScript. Es construido encima de Express.js y proporciona una estructura de aplicación sólida y modular para desarrollar aplicaciones Node.js. NestJS también utiliza patrones de arquitectura de software como inyección de dependencias, patrones de diseño de controladores y proveedores para ayudar a los desarrolladores a crear aplicaciones escalables y mantenibles.
Modules
Sirve para gestionar módulos dentro del proyecto, que puedes exportar clases a otros módulos y gestiona la inyección de dependencia.
// app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { WordModule } from './word/word.module';
import { MongooseModule } from '@nestjs/mongoose';
@Module({
// Librerías externas que necesitamos para que funcione este módulo.
imports: [WordModule, MongooseModule.forRoot('mongodb://localhost/nest')],
// En caso de que este módulo gestione controladores para una api-rest, se añaden aqui.
controllers: [AppController],
// Objetos de tipo Singleton que se inyectan para poder ser utilizados en este caso desde
// los controllers.
providers: [AppService],
})
export class AppModule {}
modo expert:
// app.module.ts
import { Module, Provider, Scope } from '@nestjs/common';
@Module({
controllers: [
CreateOrderController,
],
})
export class ShoppingRestModule {
static register(options: ShoppingApiShoppingBagModuleOptions) {
return {
module: ShoppingRestModule,
providers: [
{
provide: CreateOrderUseCase,
useFactory: (
createOrderECommerceCorePort: CreateOrderECommerceCorePort
) => {
return new CreateOrderSfccECommerceCoreAdapter(ecommerce);
},
inject: [ShoppingApiDeleteCouponUseCaseEcommercePort],
},
...Object.values(options),
],
};
}
}
Deja una respuesta