본문 바로가기
node.js

[Nest.js] 1. 시작하기

by Soo-minJeon 2022. 5. 28.

(들어가기 전에)

🛠 왜 NestJS?

- 기존에 node.js를 사용한다고 하면 아~ 그럼 Express 쓰겠네라고 생각을 할 만큼 그게 당연한 건 줄 알고 있었다. 여러 개발직군 채용공고를 보며 NestJS를 알게 되었고 NestJS에 대해 알아보는 과정에서 너무나 큰 호감을 느꼈다.

 

- spring과 유사한 구조 : 졸프를 node.js + Express조합으로 사용하고 있는데 여기서 느꼈던 단점은 코드가 순식간에 어마어마하게 불어난다는 점이였다. 백엔드를 맡고 있는 다른 팀원과 항상 '야 코드가 엄청나~ 너무 길어~ 파일 쪼개야 해~' 이런 대화를 나누곤 했는데, 한번 코드를 반으로 나눴음에도 불구하고 코드 수정에 겁이 날 정도로 양이 불어났다. 또 Express의 가장 큰 특징인 '규칙이 없다'는 점이 어느 측면에서는 강한 이점이지만 코드 길이가 점점 길어지는 상황, 그리고 학부생의 입장에서는 규칙이 없다는 것이 '두려움'으로 다가왔다. 코드가 지저분해지는 느낌.

 학과 수업에서 java + spring 을 배우고 있는데 spring은 정형화되어있는 규칙 안에서 코드를 작성하니까 같은 CRUD기능을 하더라도 그 코드가 규칙에 맞게 잘 짜이고 있다는 느낌을 받았다. 어디서 오류가 나더라도 오류가 발생한 파일로 바로 찾아가 수정하다 보니 체계적이라는 느낌도 받았다.

 그런데 JavaScript도, NodeJS도 NestJs를 사용하면 규칙에 맞게 코드를 작성할 수 있다는 점이 나에게는 너무나 매력적으로 다가왔다. 그래서 시작해보는 공부

🛠 개발환경

- mac os 

- visual studio code

 

🛠 단계

1. Nese JS Cli(client) 설치

- 터미널에 아래 명령 입력

% npm i -g @nestjs/cli

 

@nestjs/cli 를 전역으로 설치하려 했을 때 권한 에러가 발생하는 경우

npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules/@nestjs
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@nestjs'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@nestjs'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules/@nestjs'
npm ERR! }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.


해결방법은 두 가지가 있는데

% sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Password: <입력>
% npm i -g @nestjs/cli

 

% sudo npm i -g @nestjs/cli
Password: <입력>

 

 

둘 중 하나 선택하면 된다. 

 

제대로 설치되었는지 확인하고 싶으면

% nest --version

 

2. 프로젝트 생성

원하는 위치에 폴더를 생성하고, 해당 폴더에서 터미널을 연다

폴더 우클릭 - 폴더에서 새로운 터미널 열기

% nest new ./

nest 프로젝트와 관련된 파일들(package.json, controller 등등)이 자동으로 설치된다

 

그러면 이런 선택지가 나오는데 npm, yarn, pnpm 중 본인이 사용할 패키지 매니저를 선택한 후 엔터를 누른다.

여기까지 잘 되었다면 프로젝트 폴더에 이런 파일들이 생성된 것을 볼 수 있다.

 

다음에는 NestCLI로 생성한 프로젝트의 구조를 살펴보도록 하겠다.

https://developdiary-by-soominjeon.tistory.com/13

 

[Nest.js] 기본구조 살펴보기

https://developdiary-by-soominjeon.tistory.com/12 [Nest.js] 시작하기 (들어가기 전에) 🛠 왜 NestJS? - 기존에 node.js를 사용한다고 하면 아~ 그럼 Express 쓰겠네라고 생각을 할 만큼 그게 당연한 건 줄 알..

developdiary-by-soominjeon.tistory.com

 

'node.js' 카테고리의 다른 글

[Nest.js] 3. 모듈 생성하기  (0) 2022.05.29
[Nest.js] 2. 기본구조 살펴보기  (0) 2022.05.28