728x90

NestJS 소개

소개

  • NestJS는 효율적이고 확장 가능한 Node.js 서버 애플리케이션을 구축하기 위한 프레임워크입니다.
  • 프로그래시브 JavaScript를 사용하며, TypeScript를 기반으로 구축되어 있습니다.
    • 순수 JavaScript를 사용해 코딩할 수도 있습니다.
  • OOP(Object Oriented Programming), FP(Functional Programming), FRP(Functional Reactive Programming) 요소를 결합합니다.
  • NestJS는 Express 프레임워크 위에서 동작하며, Fastify를 사용하도록 구성할 수도 있습니다.
  • Express / Fastify보다 높은 수준의 추상화를 제공하지만, 해당 프레임워크의 API를 개발자에게 직접 노출합니다.
    • 이를 통해 개발자는 타 프레임워크에서 사용하는 모듈을 보다 자유롭게 사용할 수 있습니다.

철학

최근 몇 년간 JavaScript는[Front/Back]end 에서 "lingua franca"의 역할을 하고 있습니다. FE에서는 JavaScript를 기반으로 Angular, React 그리고 Vue 등의 훌륭한 프로젝트가 많이 있는데, 이러한 프로젝트는 빠르고 테스트가 가능하고 확장 가능합니다.. 하지만, 수많은 라이브러리, helpers 그리고 tool을 제공했음에도 애플리케이션 아키텍처에 대한 문제를 효과적으로 해결하지는 못했습니다..

Nest는 개발자와 팀이 테스트가 가능하고 확장성이 있는 느슨한 결합과 유지보수가 용이한 애플리케이션을 만들 수 있는 즉시 사용 가능한 애플리케이션 아키텍처를 제공하는 것을 목표로 합니다.

설치

시작하려면 NestCLI로 프로젝트를 스캐폴딩하거나 start project를 복제할 수 있습니다(둘은 동일한 프로젝트를 생성합니다).

Nest CLI로 프로젝트를 시작하기

NestCLI로 프로젝트를 스캐폴딩하려면 다음 명령어를 실행해주세요. 이렇게 하면 새 프로젝트 디렉초리가 생성되며, 초기 핵심 Nest 파일 및 지원 모듈이 채워져 프로젝트의 기본 구조가 생성됩니다.

NestJS를 처음 사용하는 사용자에게 해당 방법이 추천됩니다.

$ npm i -g @nestjs/cli
$ nest new project-name

Git으로 프로젝트를 시작하기

자바스크립트 프로젝트를 생성하기 위해서는 깃 원격저장소의 typescript 부분을 javascript로 변경해주세요

$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start

npm/yarn을 사용해 수동 프로젝트 생성

해당 방법으로 프로젝트를 생성할 경우 보일러플레이트 파일을 직접 생성해야 합니다.

$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata

NestJS 공식 문서 번역에 대한 다른 글도 보고 싶으시다면 아래 글을 확인해주세요.
[Node/NestJS] - NestJS 공식 문서 번역 모아보기

728x90
728x90

'Guide > NestJS' 카테고리의 다른 글

NestJS 공식 문서 번역 모아보기  (0) 2020.11.09
NestJS 개요-컨트롤러.Request 객체  (0) 2020.11.09
NestJS 개요-컨트롤러.라우팅  (0) 2020.11.08
NestJS 개요-첫 걸음  (0) 2020.10.25