Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

node.js 소스 수정시 자동으로 서버를 재시작 해주는 nodemon

node.js를 이용해서 웹애플리케이션을 개발할 때 다른 플랫폼이랑 동일하게 view파일같은 경우는 수정한게 자동으로 반영되지만 node.js의 JavaScript파일들은 수정을 하여도 반영이 되지 않기 때문에 실행시킨 노드애플리케이션을 종료하고 다시 시작해 주어야 합니다. node app.js처럼 명령어만 다시 입력하면 되고 Java같은 경우처럼 많은 context가 올라가는 것이 아니기는 하지만 개발하면서 잦은 소스수정을 해야할때는 이마저도 상당히 귀찮은 일입니다.

nodemon은 프로젝트 폴더의 파일들을 모니터링하고 있다가 파일이 수정될 경우 자동으로 서버를 리스타트 시켜줍니다. nodemon을 위해서 소스에 다른 설정을 추가할 필요도 없기 때문에 상당히 편리하게 사용할 수 있습니다.


nodemon 설치하기
npm을 이용해서 간단히 설치 할 수 있습니다.

npm install nodemon -g

npm 1.0이상을 사용할 경우 nodemon은 커맨드라인에서 명령어를 사용할 것이기 때문에 -g 옵션을 붙혀서 글로벌로 설치를 합니다.



nodemon 사용하기
nodemon의 사용법은 아주 간단합니다. 기존에 node.js 애플리케이션을 실행할 때 node app.js와 같이 실행해 주었다면 nodemon 명령어를 사용해서 다음과 같이 실행해 주면 됩니다.

nodemon app.js
nodemon app.js localhost 3000
nodemon --debug app.js 80

이렇게 실행을 하면 자동으로 js파일을 모니터링해서 파일을 수정하면 자동으로 리스타팅해줍니다.  여러파일을 한꺼번에 수정해서 리스타팅에 약간 딜레이를 주려면 --delay 옵션을 사용해서 nodemon --delay 10 app.js르 실행해 주면 파일이 수정되고 10초후에 리스타팅을 하게 됩니다.



모니터링 파일 ignore하기
nodemon은 .js확장자를 가진 파일들의 변화를 감지하게 되는데 필요에 따라 ignore하고 싶은 파일들은 .nodemonignore파일을 프로젝트에 생성해서 예시파일처럼 무시할 파일이나 디렉토리의 패턴을 적어주면 됩니다.
2011/06/02 02:05 2011/06/02 02:05