04. Nodemon 사용하기
서버 코드를 변경 할 때마다, 서버를 재시작하는게 꽤 번거롭지요? Nodemon 이라는 도구를 사용하면 코드가 변경 될 때 서버를 재시작 하는 것을 자동화 해줍니다.
우선, 이 도구를 개발용 의존모듈로 설치하세요.
$ yarn add --dev nodemon
이렇게 설치를 하고 나면, package.json 의 scripts 부분에서 nodemon 을 사용 할 수 있게 됩니다. package.json 에서, scripts 키를 가진 객체를 만들고, 거기에 start 스크립트와 start:dev 스크립트를 만드세요.
package.json
{
"name": "backend-tutorial",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"koa": "^2.3.0"
},
"devDependencies": {
"eslint": "^4.8.0",
"eslint-config-airbnb-base": "^12.0.1",
"eslint-plugin-import": "^2.7.0",
"nodemon": "^1.12.1"
},
"scripts": {
"start": "node src",
"start:dev": "nodemon --watch src/ src/index.js"
}
}
start:dev 스크립트가 실행되면 nodemon 이 실행되게 했는데요, 이 때 nodemon 의 설정은, src 디렉토리를 주시하면서 src/index.js 를 실행시키도록 설정이 되어있습니다. 따라서, src 디렉토리 내부의 어떠한 파일이 변경이 된다면, src/index.js 를 재시작 하게 되는것이지요.
이제부턴, 서버를 시작할 때, 다음 명령어들로 시작을 할 수 있게 됩니다.
$ yarn start
$ yarn start:dev
첫번째 명령어의 경우엔 이전에 우리가 node src/ 를 했었던 것과 동일하게, 단순히 서버를 실행시켜주며, 두번째 명령어의 경우엔, 코드가 변경될 때마다 서버를 재시작 해줍니다.