본문 바로가기
nestJS

NestJS 시작하기

by 리잼 2023. 12. 15.
반응형

2차 프로젝트가 끝나고 열심히 이력서를 넣고 있지만 쉽지가 않다 ㅠㅠ.

 

3차 프로젝트를 진행하지 않고 취업준비를 위한 시간을 가지기로 해서 TypeScript와 NestJS 를 배워보려고 한다!


NestJS 란

https://docs.nestjs.com/

 

Documentation | NestJS - A progressive Node.js framework

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Rea

docs.nestjs.com

Node.js를 기반으로 한 프레임워크이며 Typescript를 기본 언어로 지원한다.

 

Express VS NestJS

  • 구조
    • Express : 개발자가 직접 프로젝트 구조를 설계하고, 미들웨어와 라우팅을 직접 관리
    • NestJS :  모듈화된 아키텍처를 강조하여 프로젝트 구조를 일관성있게 유지
  • 언어 
    • Express : JavaScript 기반으로 설계되어 있으며, TypeScript를 사용하기 위해 별도의 설치 필요
    • NestJS : TypeScript 지원
  • 의존성 주입 ( Dependency Injection )
    • Express : 의존성 주입을 내장하고 있지 않으며, 개발자가 필요한 경우 직접 구현을 해야함
    • NestJS : 기본적으로 의존성 주입을 제공
  • 테스트
    • Express : 테스트를 위해 별도의 라이브러리나 프레임워크를 선택해야한다.
    • NestJS : 테스트를 위한 기능을 내장하고 있으며, 유닛 테스트와 통합 테스트를 쉽게 작성할 수 있다.

NestJS 설치

npm i -g @nest/cli // npm 전역 옵션(-g)으로 nest를 설치

프로젝트 생성

nest new project-name

nest new ./ 는 현재 위치한 디렉토리에 nest 프로젝트를 install 해준다

Nest JS 기본구조

.eslintrc.js

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

.prettierrc

  • 코드의 형식을 맞추는데 사용
  • 홑 따옴포( ' ), 쌍 따옴표 ( " ) 를 사용할지, Indent 값을 2로 줄지, 4로 줄지 등등 코드 포메터 역할

내가 설정한 포메팅

nest-cli.json

  • nest 프로젝트를 위해 특정한 설정을 할 수 있는 json 파일

 

package.json

  • 프로젝트의 설명, 시작 옵션, 사용된 라이브러리 등등 설정 json 파일

scr/main.ts

  • app의 시작점

nest는 react 문법으로 작성되는것 같다


Nest JS 실행

npm start
// or
npm start start:dev

 

다음 게시글 부터 본격적으로 시작해보려고 한다!

반응형