Nestjs 란 무엇인가?
- nodejs 서버 애플리케이션 프레임워크
- express 기반
- typescript 사용, javascript도 가능
- oop
- fp-function
- 외부 모듈을 이용 가능
- unit 테스트와 e2e 테스트 툴 제공
탄생배경
- 자바스크립트의 자유도로 architecture의 구성이 어렵다
- 이를 해결하기 위해 angular 아키텍처 사상을 기반으로 개발
좋은점
- java,spring과 같이 규칙을 제공
- 기본적으로 라우팅, 보안 기능 제공
- 외부모듈 통한 확장 가능
- java+spring 사용자라면 아키텍처 구조가 비슷
- angular 사용자도 기본적인 사용법이 동일
설치
- nestjs CLI , nodejs, vs code 설치
- vscode > 폴더열기 >nestjs
- 터미널 > npm i -g @nestjs/cli
- nest new nest-first
- npm / yarn 선택
폴더 구조
- package.js
- 프로젝트 기본정보
- scripts : start, buid,test 정의
- dependencies : 모듈정의
- devdependencies
- src/
- main.js : 시작 실행 점 ( 설정은 packages.js에 정의)
- app.modules.ts : 모듈 단위로 정의, controller, providers
- app.controller.ts : requsest의 요청 받음
- app.services.ts : provider 비즈니스 로직 처리
실행
- npm start (package.js 에 정의)
- dist/
- 컴파일된 js
- http://localhost:3000