Nest.js 흐름 파악하기 [초기시작]

김성진·2021년 2월 16일
0
post-thumbnail

Nest.js

Nest.js로 프로젝트 시작하기.

$ npm install -g @nestjs/cli
$ nest new <project-name> (Create nest project in local)

Nest의 흐름파악하기

Main.ts -> module.ts -> controller.ts -> service.ts

위와 같은 흐름을 가지고 있으면 "데코레이터" 가 매우 중요!!!!!!!

Main.ts

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  console.log('server is now on') // 서버가 시작되는지 보려는 라인
  
  await app.listen(3000);
}
bootstrap();

Step1. 위와 같이 'AppModule'로 가게 한다.

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 {}

Step2. 위와 같이 module에서는 controller와 service를 지정해준다. 필요한 ts파일이 있다면 만들고 여기에 지정해줘야 한다 Django로 치면 url같은..?

controller.ts

import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return this.appService.getHello();
  }
}

Step 3. 위와 같이 controller에서는 데코레이터로 지정된 함수를 Service에서 실행 할 수 있도록 해준다.

service.ts

import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  getHello(): string {
    return 'Hello World!';
  }
}

Step 4. 이에 마지막으로 controller로부터 받은 것을 여기서 실행해주면 끝.

profile
multi-national communicator with programming (back-end)

0개의 댓글