nodemon 변화감지 디렉터리 지정

cmd
1
nodemon --watch app app/server.js
  • nodemon을 사용해서 코드수정마다 서버를 자동으로 재시작하는데,
  • view와 관련한 코드를 수정할 때 서버가 재시작되는 것은 불필요하고, 세션이 날라가는 등 오히려 불편할 수 있다
  • nodemon이 모든 프로젝트 디렉터리가 아닌 특정 디렉터리의 변화를 감시하고 재시작되는 것을 알아보자

명령어

terminal
1
nodemon ./bin/www
  • 보통 이렇게 아무것도 없이 사용하면, 거의 모든 변화마다 서버가 재시작된다
terminal
1
nodemon --watch routes ./bin/www
  • --watch routes watch옵션을 넣어줌으로써 해당 디렉터리에서 변화가 있으면 재시작하도록 할 수 있다
terminal
1
nodemon --watch routes --watch libs ./bin/www
  • 이런식으로 나열할 수 있다
  • 기본적으로 디렉터리명을 적어야하며, 하위디렉터리는 자동으로 포함된다
  • 그런데 여러개의 디렉터리를 나열을 해야하면은
  • 반대로 무시할 디렉터리를 설정하는게 빠를 수 있다

config file로 설정

nodemon.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"restartable": "rs",
"ignore": [".git", "node_modules/**/node_modules"],
"verbose": true,
"execMap": {
"js": "node --harmony"
},
"events": {
"restart": "osascript -e 'display notification \"App restarted due to:\n'$FILENAME'\" with title \"nodemon\"'"
},
"watch": ["test/fixtures/", "test/samples/"],
"env": {
"NODE_ENV": "development"
},
"ext": "js,json"
}
  • nodemon.json이름으로 파일을 하나 만들고 커스텀할 수 있다
  • 무시할 디렉터리를 ignore 배열에 나열하면 된다

참고