[Nest.JS] Nest와 기본 폴더 구조

JUNHO YEOM·2022년 8월 2일
0

Nest.JS

목록 보기
1/7

Nest.JS란

효율적이고, 확장 가능한 Node.js 서버측 애플리케이션을 구축하기 위한 프레임워크로써,
TypeScript로 구축되며,
- OOP(객체지향 프로그래밍)
- FP(함수형 프로그래밍)
- FRP(함수 반응형 프로그래밍)을 지원한다.

https://docs.nestjs.com/

JavaScript가 아닌 Typescript로 구축되고, Node.js와도 연관이 있어 보이는데,
도대체 Nest.js는 Node.js와 어떻게 다를까 한번 알아보자.


Express는 프레임워크가 아니다.

처음 Express로 서버를 구축하려고 할때, 당황스러운 적이 있을 것이다.
도대체 어디부터 시작해야하고, 어떻게 만들어야할까?
Express는 뼈대없이 처음부터 시작해야 하기 때문이다.

Nest.js는 프레임(기본 설계)가 주어진다.
그렇기 때문에, 우리는 Nest.js를 이용해서 일정한 규칙과 패턴을 가지고 작업할 수 있고,
협업을 효율적으로 진행할 수 있다.


Nest.js의 폴더 구조

Nest.js 시작하기

$ npm i -g @nestjs/cli //Nest.js 설치
$ nest new project-name // 새로운 nest.js 프로젝트 폴더 생성

https://docs.nestjs.com/ 를 참조해서 새로운 Nest.js 프로젝트를 시작하고, 사용할 패키지 매니저를 선택하면
다음과 같은 폴더와 파일들이 생성된다.

Nest.js 폴더구조(BoilerPlate)

node_modules: 기본적으로 제공되는 node_moduels가 다운받아져 있는 폴더
src: 소스코드
test: 내가 만든 코드를 테스트할 수 있게 해주는 폴더
.eslintrc.js: 코딩 문법에러 표시도구
.gitignore: git이 기본으로 사용 가능하다. git에서 제외할 파일을 설정한다.
.prettierrc: 코딩 스타일 규칙이 일치하도록 도와주는 도구
nest-cli.json: Nest설정 파일
package.json: 모듈들의 버전 관리를 위한 파일
READEME.md: 프로젝트에 대한 설명을 기록할 수 있는 파일
tsconfig.build.json: 타입스크립트 설정 파일
tsconfig.json: 타입 스크립트 설정 파일
yarn.lock: 버전 작믐 파일


Nest.js의 강점과 단점

갑자기 많은 폴더들이 생성되어 복잡해 보이기도 하지만,
이렇게 기본 구조가 제공된다는 것은 많은 장점을 가지고 있다.

  1. 일관된 규칙으로 대규모 협업에 유리하다.
  2. 구조를 파악하기 쉬워 적응하기 쉽다.
  3. 유지보수성이 뛰어나다

다만, 규격화된 틀을 가진다는 점에서, 프로그래머 개인의 프로그래밍 자유도가 떨어진다는 단점을 가지고 있다.

하지만, 우리 주변의 다양한 규칙들이
우리의 생활을 더욱 편리하고, 효율적으로 만드는 만큼
협업과, 유지보수성의 강점을 가진 Nest.js를
앞으로 보다 많은 프로그래머들이 찾게 될것이라고 생각한다.

0개의 댓글