[Node.js] Nodemon 설치하기
Nodemon을 설치해 보자
[ Nodemon ]
Nodemon이란 Node 서버를 이용하면서 코드를 변경하게 될 경우, 변경한 코드를 웹 상에서 확인하려면 서버를 내렸다가 다시 올려야 변화된 것을 확인할 수 있는데, Nodemon은 서버를 내리고 올리지 않아도 소스를 변경할 때 즉시 감지하여 자동으로 서버를 재시작해주는 도구이다.
즉, Nodemon은 자동 재시작 메커니즘을 위해 사용하는 도구이다.
자세한 사항은 아래의 링크에서 확인할 수 있다.
https://www.npmjs.com/package/nodemon
nodemon
Simple monitor script for use during development of a Node.js app.. Latest version: 2.0.20, last published: 4 months ago. Start using nodemon in your project by running `npm i nodemon`. There are 4223 other projects in the npm registry using nodemon.
www.npmjs.com
[ Nodemon 설치 ]
Nodemon을 설치할 때는 설치 방법 정의가 가능하여 개발 중에 도움을 주는 개발 패키지와 서버에서 실행 중인 앱에 도움이 되는 프로덕션 의존성으로 정의할 수 있다.
Nodemon의 경우 개발 과정에서만 사용하기 때문에 개발의존성이 된다.
=> 실제 서버에 앱을 설치하게 되면 거기서는 필요가 없기 때문이며, 인터넷 어딘가에서 실행 중인 실제 서버는 재시작해서는 안되며, 그 서버의 코드는 동적으로 변경하지 않기 때문이다.
// 터미널에서 명령어 입력
npm install nodemon --save-dev
--save : 패키지가 프로덕션 의존성으로 설치되며, 실제로 코드 안에서 사용하고 작업하는 패키지라는 뜻이다.
-dev : 단순히 개발 도중에 사용하는 것임을 나타낸다.
=> development 모드와 production 모드 중 development 모드의 local에서만 사용하겠다는 뜻이다.
+ -g : 이 프로젝트에서는 설치하지 않겠지만 머신 전체에 설치함으로써 어디에서든지 사용할 수 있도록 한다.
위의 명령어를 입력하면 node_modules 폴더와 package-lock.json 파일이 추가되며 package.json 파일이 업데이트된다.

업데이트된 package.json

"nodemon" : "^2.0.20"에서 ^는 이 패키지가 어떻게 업데이트될지를 정의하여 재실행하려면 npm install만 입력해 주고 별도의 패키지 이름 입력은 필요 없다는 뜻이다. 이 명령어는 자체적으로 package.json에 언급된 모든 패키지를 검색해서 설치하고 가능한 경우 자동으로 최신 버전을 선택하게 된다.
이렇게 nodemon이 설치되면 서버를 내릴 필요 없이 코드를 수정하면 자동으로 서버가 재실행되게 된다! :)