NestJS

songtofu·2022년 5월 19일
0

ft_transcendence

목록 보기
2/5

1. 소개

  • NestJS는 Node.js에 기반을 둔 웹 API 프레임워크로써 Express 또는 Fastify 프레임워크를 래핑하여 동작합니다. 기본으로 설치하면 Express를 사용합니다.
  • Node.js는 손쉽게 사용할 수 있고 뛰어난 확장성을 가지고 있지만, 과도한 유연함으로 인해 SW의 품질이 일정하지 않고 알맞은 라이브러리를 찾기 위해 사용자가 많은 시간을 할애해야 합니다.
  • 이에 반해 NestJS는 데이터베이스, ORM, 설정(Configuration), 유효성 검사 등 수많은 기능을 기본 제공하고 있습니다. 그러면서도 필요한 라이브러리를 쉽게 설치하여 기능을 확장할 수 있는 Node.js 장점은 그대로 가지고 있습니다.
  • NestJS는 Angular로부터 영향을 많이 받았습니다. 모듈/컴포넌트 기반으로 프로그램을 작성함으로써 재사용성을 높여줍니다.
  • IoC(Inversion of Control, 제어역전), DI(Dependency Injection, 의존성 주입), AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)와 같은 객체지향 개념을 도입하였습니다.
  • 프로그래밍 언어는 타입스크립트를 기본으로 채택하고 있어 타입스크립트가 가진 타입시스템의 장점을 누릴 수 있습니다.

2. 실행해보기

2.1) brew 설치

mkdir $HOME/.brew && curl -fsSL https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C $HOME/.brew
mkdir -p /tmp/.$(whoami)-brew-locks
mkdir -p $HOME/.brew/var/homebrew
ln -s /tmp/.$(whoami)-brew-locks $HOME/.brew/var/homebrew/locks
export PATH="$HOME/.brew/bin:$PATH"
brew update && brew upgrade
  • .zshrc파일에 아래 내용 추가
mkdir -p /tmp/.$(whoami)-brew-locks
export PATH="$HOME/.brew/bin:$PATH"

export NVM_DIR="$HOME/.nvm"
[ -s "$HOME/.brew/opt/nvm/nvm.sh" ] && \. "$HOME/.brew/opt/nvm/nvm.sh"  # This loads nvm

2.2) node.js 설치

brew install node
node -v
npm -v

위의 코드를 통해 설치가 잘 됐는지 확인

2.3) 프로젝트 만들기

  • npm을 통해 @nestjs/cli를 설치한다. -g 옵션을 통해 글로벌 환경에 설치
npm i -g @nestjs/cli
  • 프로젝트 생성
nest new [원하는 프로젝트 생성]

중간에 어떤 package manager를 사용할 것인지
1. npm
2. yarn
-> https://ehddnjs8989.medium.com/npm-vs-yarn-3a611c89d291
큰 차이 없음.

2.4) 실행

npm run start

http://localhost:3000/ 에 가면 "Hello World!" 를 볼 수 있다.

3. DB 연결하기

출처

profile
읽으면 머리에 안들어와서 직접 쓰는 중. 잘못된 부분 지적 대환영

0개의 댓글