본문 바로가기

내일배움캠프 노드 4기/Today I Learned

[Nest.js] 게시판 만들기

새로운 모듈 만들기

$ nest g mo board

src 폴더 내에 board 폴더가 자동으로 생성되고  board.module.ts 라는 타입스크립트 코드가 생성되어있다.

// board.module.ts
import { Module } from '@nestjs/common';

@Module({})
export class BoardModule {}

 

컨트롤러 생성

$ nest g co board

모듈을 생성할 때와 같이 board 폴더에 코드가 생성된다.

// board.controller.ts
import { Controller } from '@nestjs/common';

// Controller 데코레이터 옆에 문자열은 라우팅 룰이라고 생각하시면 됩니다!
// 이 컨트롤러는 /board 라는 주소 아래로 요청을 하면 해당 컨트롤러에서 처리를 해요!
// 예를 들면, GET /board/{articleId}, POST /board/comments/ 등이 있어요!
@Controller('board')
export class BoardController {}

 

서비스 생성

$ nest g s board
// board.service.ts
import { Injectable } from '@nestjs/common';

@Injectable()
export class BoardService {}

 

모듈에 자동 생성된 코드

import { Module } from '@nestjs/common';
// 컨트롤러
import { AppController } from './app.controller';
// 서비스
import { AppService } from './app.service';
import { BoardModule } from './board/board.module';

@Module({
  imports: [BoardModule], // 새로 생김
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

 

lodash 설치 : lodashJavascript로 코딩할 때 유용하게 사용할 수 있는 유틸성 패키지

$ npm i lodash

 

tsconfig.json 속성 추가

- "esModuleInterop": true 추가

- ES6 모듈 사양을 준수하여 CommonJS 모듈을 가져올 수 있게 합니다.

 

 

'내일배움캠프 노드 4기 > Today I Learned' 카테고리의 다른 글

[Nest.js] lodash 모듈을 못 불러와요  (0) 2023.02.21
[Nest.js] DTO  (0) 2023.02.16
[Nest.js] IoC와 DI  (0) 2023.02.10
[Nest.js] 프로젝트 기본 코드 분석  (0) 2023.02.10
[Nest.js] 설치하기  (0) 2023.02.10