Nest.js의 작동 원리와 핵심 구성 요소 (Service, Module, Controller)
Nest.js는 Node.js 기반의 서버 애플리케이션 프레임워크로, TypeScript와 의존성 주입을 활용하여 구조화된 코드 작성을 돕습니다. Angular를 차용했으며, 모듈화와 데코레이터 기반의 코드 작성을 강조합니다.
Nest.js의 작동 원리
Nest.js는 모듈화된 구조와 의존성 주입을 기반으로 동작합니다.
Service, Module, Controller
Nest.js는 Controller, Service, Module의 3가지 주요 구성 요소를 중심으로 동작합니다.
1. Controller
2. Service
3. Module
Nest.js 애플리케이션의 흐름
전체 예제: 기본 애플리케이션 구조
// app.controller.ts
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller('app')
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
// app.service.ts
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
return 'Hello, Nest.js!';
}
}
// app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
요약
이 구조를 통해 Nest.js는 확장성과 유지보수가 뛰어난 애플리케이션 개발을 지원합니다.