NestJS의 controller는 express의 router와 같다.
NestJS 의 어플리케이션은 main.ts 에서 시작한다.
그리고 하나의 모듈에서 어플리케이션을 생성한다.
// main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule); // 앱모듈에서 app 생성
await app.listen(3000);
}
bootstrap();
AppModule 은 모든 것의 root 모듈이라고 할 수 있다.
// app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
// 데코레이터 : 클래스에 함수 기능을 추가할 수 있다.(클래스 위의 함수. 클래스를 위해 움직임)
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
// AppModule 이란 클래스는 비어있다. 내용은 데코레이터가 가지고 있다.
export class AppModule {}