Nest.js 설치 및 시작

2022. 8. 17. 20:57Nest.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