2022. 8. 17. 20:57ㆍNest.js
강의 : John Ahn - 따라하며 배우는 NestJS
Node가 설치돼있다는 것을 전제로
터미널에서 sudo npm i -g @nestjs/cli 를 입력한다.
설치 완료 후 프로젝트 폴더로 이동 후 터미널에 nest new ./ 를 입력하면 완료.
Nest Js 가 뭐야?
- 아키텍처
NestJS는 서버 측 어플리케이션 개발에 있어 아키텍처의 문제를 해결하기 위해 등장
Express는 사용하기도 쉽고 성능도 뛰어나지만 아키텍처에 관한 정의나 기능을 제공X
팀 또는 사람마다 아키텍처가 다르면 이를 이해하기 위한 비용 또는 개발 전에 아키텍처를 선정하는 커뮤니케이션 비용이 증가
NestJS는 아키텍처에 대한 정의를 제공하기 때문에 동일한 아키텍처에서 다른 개발자가 작성한 코드를 쉽게 이해할 수 있다.
-기능, 모듈
백엔드 서버가 갖추어야 하는 필수 기능이 프레임워크에 내장되어 있고 추가로 필요한 기능을 설치하고 적용하는 방법을 문서로 제공한다.
DI, IoC를 채용하여 객체지향 프로그래밍과 모듈화를 쉽게 할 수 있다.
Express를 사용한다면 이 모든 것들을 npm에서 찾아서 검토하는 과정이 필요.
typescript를 지원하며 javascript로 작성하는 것도 가능.
express, fastify의 api도 이용가능 -> 호환성이 좋다.
Nest JS 기본 구조
eslintrc.js : 개발자가 특정한 규칙을 갖고 코드를 깔끔하게 짤수있게 도와주는 라이브러리.
타입스크립트를 쓰는 가이드 라인 제시, 문법에 오류가 나면 알려주는 역할 등.
prittierrc : 코드 형식을 맞추는데 사용합니다. 코드 포맷터 역할.
nest-cli.json: nest 프로젝트를 위해 특정한 설정을 할 수 있는 json 파일.
tsconfig.json : 타입스크립트를 어떻게 컴파일 할지 설정
tsconfig.build.json: build 할 때 필요한 설정들, excludes 에서는 빌드할 때 필요 없는 파일 명시.
pakage.json
-build: 운영환경을 위한 빌드
-format: 린트에러가 났을지 수정
-start: 앱시작
src 폴더(대부분의 비즈니스 로직이 들어가는 곳)
- main.ts (앱 생성, 실행)
-app.module.ts(앱 모듈 정의)
타입을 지정해주는 이유?
타입을 지정해주는 것은 선택사항 이다.
하지만 이렇게 타입을 정의하여 원하는 타입과 다른 타입을 사용할 시 에러가 발생한다.
그리고 코드를 읽는 입장에서 더 코드를 쉽게 이해하며 읽을 수 있다.
'Nest.js' 카테고리의 다른 글
Providers/ DI (0) | 2022.09.04 |
---|---|
Controller (0) | 2022.09.04 |
DTO & 유효성 검사 (ValidationPipe) (0) | 2022.08.27 |
Nest.js 기본 (0) | 2022.08.26 |
TypeORM (0) | 2022.08.23 |