nodemon은 특정 디렉토리 내의 파일 변경을 감자해서 자동으로 노드 애플리케이션을 재시작해주는 툴이다.
스크립트를 실행할 때 node
대신 nodemon
을 커맨드 라인에서 사용하면 된다.
npm install -g nodemon # or using yarn: yarn global add nodemon
npm을 사용해서 전역으로 nodemon을 설치할 수 있다. 시스템 변수로 등록된다.
npm install --save-dev nodemon # or using yarn: yarn add nodemon -D
나는 보통 아래 방법처럼 한다.
대신 로컬로 설치하면 system path에 등록이 안되서 명령줄, 쉘 같은데서 직접 실행할 수는 없다.
이 때는 npx
를 사용하면 된다.
nodemon은 애플리케이션 전체를 래핑하기 때문에 일반적으로 앱 실행때 인수를 넘기는 것처럼 nodemon
으로 실행할 때도 인수를 넘길 수 있다.
cli 옵션들을 nodemon -h or --help
로 볼 수 있다.
app에서 host와 port 인수를 받을 수 있는 경우에는
nodemon server.js localhost 3000
이런식으로 작성할 수 있다. 이렇게 작성한 스크립트를 실행해서 나오는 출력문은 [nodemon]이 prefix되어서 출력된다.
nodemon --inspect server.js 80
이렇게 node 실행할 때 inspect
플래그를 넣어 실행하는 것처럼도 가능하다.
nodemon
으로 node 앱을 실행하고 rs
를 입력하면 수동으로 재시작도 할 수 있다.
nodemon은 전역, 로컬 설정 파일을 지원한다.
보통 nodemon 설정 파일은 nodemon.json
으로 하는 경우가 많고, 나는 보통 현재 작업 디렉토리나 홈 디렉토리에 둔다.
나는 보통 현재 작업 디렉토리에 둔다.
--config <file>
옵션으로 다른 로컬 설정 파일을 지정할 수도 있다.
설정 파일 순서는 다음과 같이 우선순위가 정해지고, 커맨드 라인 인수가 덮어쓸 수 있다.
개발자로서 배울 점이 많은 글이었습니다. 감사합니다.