저장을 습관화

Nest.js 연습 - 게시판 만들기 본문

공부/node.js

Nest.js 연습 - 게시판 만들기

ctrs 2023. 8. 4. 22:13

Nest.js의 기능 단위는 모듈로 관장된다.

 

1. 새로운 모듈 생성

$ cd src
// 모듈 생성은 현재 디렉토리 기준으로 진행되기 때문에 src 폴더로 가도록 하자

$ nest g mo board
CREATE board/board.module.ts (82 bytes)
UPDATE app.module.ts (312 bytes)

 

/src/board/board.module.ts 파일 생성 확인

 

 

2. 컨트롤러 생성

$ nest g co board
CREATE board/board.controller.ts (99 bytes)
CREATE board/board.controller.spec.ts (485 bytes)
UPDATE board/board.module.ts (170 bytes)

 

nest.js 명령어는 모듈의 이름을 보기 때문에

컨트롤러 생성시에도 모듈의 이름은 똑같이 가야하니 임의로 아무런 이름을 넣지 않도록 하자

 

기존 board.module.ts 파일에 변화가 생기고

컨트롤러 관련 파일들이 생성되었다.

여기서 @Controller 데코레이터는 기존 Express에서 다루던 Router의 내용이다.

 

이번 예시에서는 http://localhost:3000/board로 접속하면 

해당 컨트롤러로 접근하게 된다.

 

 

 

3. 서비스 생성

$ nest g s board
CREATE board/board.service.ts (89 bytes)
CREATE board/board.service.spec.ts (453 bytes)
UPDATE board/board.module.ts (247 bytes)

 

board.module.ts 파일의 변화

@Injectable 데코레이터

DI(의존성 주입)을 위한 내용

 

 

 

4. 프로젝트의 루트 폴더의 app.module.ts

@Module 데코레이터의 '해당 모듈에서 필요한 모듈의 집합을 정의하고 프로바이더(서비스)를 노출하는'

imports 속성에 BoardModule에 관한 내용이 추가되었음을 확인할 수 있다.