Web Dev/ELICE

35 (2/2) :: Express 3계층 설계, 타입스크립트로변경, Nestjs

HJPlumtree 2021. 12. 11. 12:54

엘리스 SW 엔지니어 트랙 35일차

온라인 강의날 🦁

 

 

갑자기 Node.js 와 TypeScript

한번 더 강화 시키기인가

 

 

express

Node.js 웹 어플리케이션 프레임워크

웹 앱 만들기 쉽게 해주는 기능/구조 제공

fastify나 koa 등 다양한 프레임워크 있다

 

 

Express 3계층 설계

Controller Layer

들어오늘 sevice 클래스에 라우팅

 

Service Layer

비즈니스 로직

중요한 로직

CLI 같은 stand alone (독립형) 앱에서 독자적 사용 가능

 

Ppersistent Layer

영구히 데이터 저장하는 계층

 

3계층 분리 잘 해놓으면

Controller Layer/Persistent Layer 변경시

Service Layer는 건들지 않아도된다

 

 

자바스크립트 => 타입스크립트 변경

  1. 트랜스파일링할 디렉토리 정하기
  2. tscofing.json 작성
  3. babel 사용한 es6이상 문법 지원(option)
  4. 확장자명 ts로 변경
  5. 오류 제거: 타입 추가

 

 

Nodejs 프레임워크 Nestjs

express, fastify 플랫폼 위에서 작동

platform agnostic: 플랫폼에 구애하지 않는다는 뜻
"Nestjs is platform agnostic"

 

다양한 서버 개발 가능

(GraphQL, REST, CLI, MVC 등)

 

Angular 영향 많이 받은

깔끔하고 견고한 아키텍처

Typescript, jest, lint, Code generator cli 지원

 

다양한 플러그인

(Testiog, Swegger 등)

 

Nestjs 구조