[Nest.js] 시작하기

Jimin_Note·2022년 9월 5일
0

🐛node.js

목록 보기
3/5
post-thumbnail

🌟 Nest

nest는 Node.js를 효율적으로 애플리케이션을 구축하기위한 프레임워크
자바스크립트를 사용하고 타입스크립트로 빌드되어 완벽하게 지원

내부적으로는 Nest는 기본값인 Express와 같은 강력한 HTTP 서버 프레임 워크를 사용하며 선택적으로는 Fastify를 사용하도록 구성

Nests는 이러한 공통 Node.js 프레임워크(Express / Fastify)위에 추상화 수준을 제공하지만 API를 개발자에게 직접 노출함으로써 개발자는 기본 플랫폼에서 사용할 수 있는 수많은 타사 모듈을 자유롭게 사용할 수 있다.

🌟 Express vs NestJS

ExpressNestJS
가벼운 테스트용 서버미들웨어, IoC, CQRS 등 이미 많은 기능을 프레임워크 자체에 포함
Typescript 추가 설정을 통해 사용 가능Typescript 기본설정
커뮤니티가 크다커뮤니티 꾸준히 증가중

🌟 Nest로 프로젝트 시작하기

nest.js 설치

npm i -g @nestjs/cli

-> 나는 여기서 에러가 났다

해결!

> sudo n lts #Node lts 버전 설치

installing : node-v16.17.0
       mkdir : /usr/local/n/versions/node/16.17.0
       fetch : https://nodejs.org/dist/v16.17.0/node-v16.17.0-darwin-x64.tar.xz
     copying : node/16.17.0
   installed : v16.17.0 to /usr/local/bin/node
      active : v6.13.1 at /Users/jimny/miniconda3/bin/node

node -v16.17.0 이 설치되었지만 현재 미니콘다에서 작동중인 노드 버전은 6.13.1 이었다.

conda uninstall --force nodejs # conda에서 node.js 강제삭제
conda install nodejs -c conda-forge --repodata-fn=repodata.json

node 버전이 10 이상이어야 가능!

nest.js 프로젝트 시작

nest new project명

프로젝트를 새로 만들때 패키지 매니저 선택하는 구간이 나온다

npm, yarn, pnpm

기능pnpmYarnnpm
워크스페이스 지원✔️✔️✔️
격리된 node_modules✔️ - 기본값✔️
호이스팅된 node_modules✔️✔️✔️ - 기본값
Plug'n'Play✔️✔️ - 기본값
Zero-Installs✔️
의존성 패치✔️
Node.js 버전 관리✔️
lockfile 보유✔️ - pnpm-lock.yaml✔️ - yarn.lock✔️ - package-lock.json
동적 패키지 실행✔️ - pnpm dlx✔️ - yarn dlx✔️ - npx
profile
Hello. I'm jimin:)

0개의 댓글