정화 코딩

[Node.js] NestJS이란? 본문

Web Development

[Node.js] NestJS이란?

jungh150c 2024. 9. 9. 02:28

NestJS란?

Nest (NestJS)는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기위 한 프레임 워크이다. 프로그레시브 JavaScript를 사용하고 TypeScript로 빌드된다.

Nest JS 는 내부적으로 어떻게 구성되었나요?

내부적으로 Nest는 Express (기본값)와 같은 강력한 HTTP 서버 프레임 워크를 사용하며 선택적으로 Fastify를 사용하도록 구성 할 수도 있다.

Nest는 Express (기본값)와 같은 강력한 HTTP 서버 프레임 워크를 사용한다. 즉, Nest는 Express를 토대로 만들어졌다.

Nest JS 의 철학

Nest는 개발자와 팀이 고도로 테스트 가능하고 확장 가능하며 느슨하게 결합되고 유지 관리가 쉬운 애플리케이션을 만들 수 있는 즉시 사용 가능한 애플리케이션 아키텍처를 제공한다.

Nest JS 공식 문서

https://docs.nestjs.com/

Node.js 설치

우선 Node.js를 설치해야 한다. https://nodejs.org/en/에서 설치할 수 있고, 제대로 설치되었는지 확인하려면 터미널에 "node -v"라고 쳐보면 된다.

NestJS CLI로 NestJS 시작하기

NestJS CLI를 이용하면 NestJS 프로젝트를 간단히 시작할 수 있다. (NestJS 설치 확인은 "nest -v"로) 패키지 매니저로 npm과 yarn 중에 하나를 선택할 수 있다. 

$ npm i -g @nestjs/cli  # nestJS CLI 설치
$ nest new project-name  # project-name라는 이름의 폴더로 프로젝트 생성 (npm 선택)

위와 같이 명령어를 작성하면 새 프로젝트 디렉터리가 생성되고 초기 핵심 Nest 파일 및 지원 모듈로 디렉터리가 채워져 프로젝트의 기본 구조가 생성된다. 

$ mkdir nestjs-board-app
$ cd nestjs-board-app
$ nest new ./ (npm 선택)  # 이 폴더 안에 기본 구조 생성

NestCLI로 생성한 프로젝트 기본 구조

- eslintrc.js: 개발자들이 특정한 규칙을 가지고 코드를 깔끔하게 짤 수 있게 도와주는 라이브러리. 타입스크립트를 쓰는 가이드 라인 제시, 문법에 오류가 나면 알려주는 역할 등

- prettierrc: 주로 코드 형식을 맞추는데 사용하는 코드 포맷터 역할. (ex. 작은따옴표를 사용할지 큰 따옴표를 사용할지, Indent 값을 2로 줄지 4로 줄지 등)

- nest-cli.json: nest 프로젝트를 위해 특정한 설정을 할 수 있는 json 파일 (ex. source root)

- tsconfig.json: 어떻게 타입스크립트를 컴파일 할지 설정

- tsconfig.build.json: tsconfig.json의 연장선상 파일이며 , build를 할 때 필요한 설정들 "excludes"에서는 빌드할 때 필요 없는 파일들 명시

- package.json: 프로젝트 이름, 버전, 설명, 프로젝트 시작 명령어, 사용된 라이브러리 등 작성

- src 폴더: main.ts: 어플리케이션을 생성하고 실행 (AppModule: 가장 최상위 모듈)

 

Comments