[개발] #1. Nest.js - 기본 구조
안녕하세요 @realmankwon입니다.
Nest.js 의 기본 골격은 다음과 같습니다.
- main.ts
- app.controller.ts
- app.module.ts
- app.service.ts
시작점은 말할 필요도 없이 main.ts 입니다.
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
AppModule 을 호출하는 것으로 실행이 되는 것 같습니다.
처음 호출되는 app.module.ts 로 가면
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
@Module({
imports: [],
controllers: [AppController],
providers: [],
})
export class AppModule {}
@Module 이라는 decorator 에 controller 가 맵핑되어 있습니다.
app.controller 로 가면
import { Controller, Get } from '@nestjs/common';
@Controller('')
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
@Get decorator를 통해 appService 의 함수를 호출합니다.
app.service.ts로 가게 되면 아마도 getHello()의 비즈니스 로직이 작성되어 있을 것입니다.
즉 웹에서 url로 호출을 하면 express 의 라우터의 역할을 controller가 대신하긴 하지만 service에 정의된 함수를 리턴하는 것으로 끝입니다.
실제적인 비즈니스 로직은 service 에 분리시켜 놓은 것입니다.
이런 방식을 취하게 된 이유는 좀 알아봐야겠네요.
일단은 시작을 했으니 이미 반을 하게 된 Nest.js 입니다!! ^^
@realmankwon transfered 30.000 KRWP to @krwp.burn. voting percent : 100.00%, voting power : 22.36%, steem power : 1920662.75, STU KRW : 1200.
@realmankwon staking status : 10576.555 KRWP
@realmankwon limit for KRWP voting service : 10.576 KRWP (rate : 0.001)
What you sent : 30.000 KRWP (Voting Percent over 100 %)
Refund balance : 25.444 KRWP [61483811 - 63085453281bc60c429828484f6a4e08e9078cd7]
I like this post @realmankwon