[Node] Nodemon 설치 및 적용

2023. 5. 19. 16:24기술 창고/Node.js

728x90
SMALL

Nodemon 이란?

Nodemon은 노드 서버를 키고 코드를 수정하거나 업데이트했을 때, 서버를 내리고 다시 켜야 반영이 되야하는데 이것이 번거롭습니다.

Nodemon은 이런 번거로운 작업을 일일히 할 필요없이 변경점을 감지해주고 반영시켜주는 기능이라고 볼 수 있습니다.

 

우선 서버를 켜봅시다.

 

 

기존에 index.js 에 작성한 대로 localhost:{포트 번호}/ 주소를 입력하니 Hello World! 가 정상적으로 출력되었습니다.

 

 

이제 코드를 변경해보고 브라우저에서 새로고침을 해보면 여전히 수정된 내용이 나오지 않고 이전 내용이 그대로 출력됩니다.

 

서버를 다시 껐다가 실행하고 브라우저를 새로고침하면

 

변경된 사항이 적용되어 나오게 됩니다! (hello world! 부분은 제가 더 추가한 내용입니다.)

근데 개인적으로 비쥬얼 스튜디오를 사용하고 있는데 살짝 짜증나는 부분이 존재하네요...

저만 그런 건지 모르겠지만 코드를 작성하거나 수정을 하고 실행하면 계속 안되다가 한참 뒤에야 다시 실행하면 됩니다.

변경한 게 없는데도 불구하고 말이죠... 쓰읍....

그럴 때는 터미널에서 경로를 상위 경로에 나갔다가 다시 들어오거나 툴에 새로고침 버튼을 누르면 해결이 되는 것 같습니다.

잡담이 길었네요 ^^;; 다시 돌아와서!

 

 

이렇게 일일히 코드를 수정하거나 업데이트하고 나서 서버를 껏다 키는 것은 비효율적일 수 있기 때문에 Nodemon을 설치하는 것입니다.

 

 

터미널에서 npm install nodemon --save-dev 명령어를 입력하여 설치해주도록 합니다.

여기서 기존 디펜던시들을 설치할 때랑 살짝 다른 점은 --save 뒤에 -dev 키워드가 붙었다는 점입니다.

-dev 는 말하자면 developer 버전으로 설치하겠다는 의미인데 로컬 환경에서만 사용하겠다는 뜻이기도 합니다.

 

package.json 파일을 확인해보면 따로 devDependencies 라는 항목이 생기고 거기에 nodemon 이 들어간 것을 볼 수 있습니다.

-dev 로 설치를 했기 때문이죠.

 

이제 package.json 의 scripts 항목에 내용을 추가해줍니다.

기존에는 평범하고 아날로그 하게 실행만 시키는 node index.js 명령어를 사용했다면,

이제는 nodemon 을 사용하여 변경점이 있을 때마다 반영해주면서 실행시킬 것이기 때문에 그 내용을 추가해줍니다.

저는 backend 라는 이름으로 nodemon index.js 명령어 내용을 넣어주었습니다.

 

 

이제 npm run backend 명령어를 입력하면 위와 같이 nodemon으로 서버가 실행됩니다.

 

 

지금 브라우저에는 위의 내용이 출력되어있습니다.

이제 여기서 코드를 수정하고 ctrl + s 를 눌러 저장하고 다시 브라우저에서 새로고침을 눌러보면

 

서버를 껏다가 키지 않아도 브라우저에 새로고침하니 수정한 내용이 반영된 것을 볼 수 있습니다!

 

이렇게 해서 Nodemon 을 설치하고 적용시키는 것까지 완료했습니다.

 

 

+ 추가 1 : 비주얼 스튜디오 내에서 코드를 작성하고 실행해보면 만든 내용이 정상적으로 계속 나오지 않는 이슈가 있는데

터미널에서 상위 경로에 나갔다가 다시 들어와서 실행하면 되는 것 같습니다.

+ 추가 2 : mongoose 의 경우 특정 버전 이상일 시, 콜백함수를 지원하지 않는다고 합니다.

그래서 if, else 를 제외하고 then, catch, async, await 를 사용하여야 합니다.

 

 

728x90
반응형
LIST