본문 바로가기

nestjs4

[NestJS] Modules NestJS에서 @Module() 데코레이터가 붙은 클래스는 하나의 모듈 단위를 의미한다. Nest는 이 @Module() 데코레이터에 포함된 메타데이터를 활용하여 애플리케이션 구조를 구성하고 관리한다.기본 구조모든 Nest 애플리케이션은 최소 하나의 모듈 (AppModule)을 가지고 있으며, Nest는 이 루트 모듈을 기준으로 내부적으로 의존성 그래프 (Dependency Graph) 를 만들어 컴포넌트 간의 관계를 관리한다.@Module() 데코레이터의 속성@Module({ providers: [CatsService], controllers: [CatsController], imports: [OtherModule], exports: [CatsService],})providers: Nest의 .. 2025. 5. 18.
[NestJS] Providers NestJS에서 Providers는 핵심 개념 중 하나이다. 서비스(service), 리포지토리(repository), 팩토리(factory), 헬퍼(helper)와 같은 클래스들이 대부분 프로바이더로 간주된다.프로바이더는 의존성 주입(dependency injection) 을 통해 다른 객체에 주입될 수 있는 클래스.객체들 간의 관계 설정(연결)은 대부분 Nest의 런타임 시스템이 자동으로 처리해준다.ServicesControllers 에서는 http 요청을 처리하고, 복잡한 작업은 Services에 위임한다.데이터의 유효성 체크를 하거나, DB에 데이터를 생성하는 등의 작업@Injectable() 데코레이터로 표시하여 Nest가 이 클래스를 관리할 수 있게 된다.// cats.services.tsim.. 2025. 5. 18.
[NestJS] Controllers 컨트롤러는 들어오는 요청을 처리하고 클라이언트에게 응답을 다시 보내는 역할을 한다.CLInest g controller [name] Routing@Controller() 데코레이터에 path를 지정하면 관련 라우트를 그룹화할 수 있다.import { Controller, Get } from '@nestjs/common';@Controller('cats') // `/cats`export class CatsController { @Get() // GET /cats findAll(): string { return 'This action returns all cats'; } @Get('breed') // GET /cats/breed findAll(): string { return 'This .. 2025. 5. 18.
[NestJS] 1. cli 설치, 프로젝트 세팅 NestJS란?- 효율적이고 확장 가능한 Node.js 서버 애플리케이션을 구축하기 위한 프레임 워크. 주요 특징1. TypeScript 기반2. 모둘화된 아키텍처- Controller, Service, Module등으로 나뉘어서 유지보수가 쉽다.3. DI(의존성 주입) 지원- 객체 간 결합도를 낮추고 재사용성이 좋아짐.4. 데코레이터 기반 메타프로그래밍- 클래스와 함수에 메타데이터를 추가하여 선언적 프로그래밍을 가능하게 함.5. Express 및 Fastify 지원- 기본적으로 express를 사용하지만, 선택적으로 Fastify를 사용하도록 구성할수도있다.6. 테스트 용이성- Jest를 기본으로 내장하여 단위 테스트와 e2e 테스트를 쉽게 작성할 수 있다. 선택한 이유익숙한 언어인 javascipr.. 2025. 5. 18.
반응형