Node를 통해 서버를 실행할 경우, 파일의 변경 사항이 발생하여도 서버가 실행 중일 경우에는 자동으로 새로고침 되어 변경 사항이 반영되지 않습니다. 따라서, 커맨드 라인에서 실행 중인 서버를 종료하고 다시 노드를 실행하고, 새로고침해서 확인해야 하는 번거로움이 있는데요. 변경 사항을 자동으로 반영하도록 할 수는 없을까요?
노드에서 자동으로 서버 새로고침하기
파일에 변경 사항이 발생했을 때, 노드에서 자동으로 서버를 새로고침하려면 다음과 같이 새로운 NPM 인 nodemon을 설치해야 합니다.
npm install -g nodemon
nodemon 을 설치한 다음에는 이를 사용하기 위해 node server.js
와 같이 파일을 실행하지 않고, nodemon server.js
와 같이 파일을 실행합니다. 맥에서 권한 부족으로 설치가 되지 않는다면 sudo npm install -g nodemon
을 시도해보시기 바랍니다.
로컬 영역에서 nodemon 실행하기
nodemon을 글로벌이 아닌 로컬에 설치한 경우에는 실행이 되지 않을 수 있습니다. 이때는 아래 방법을 사용할 수 있습니다. 이 때는 package.json의 scripts
영역을 수정해야 합니다. package.json 파일에 들어가서 "script"
섹션에 다음 명령어를 추가합니다.
"scripts": { "watch": "nodemon server", },
이후 커맨드 라인에 npm run watch
를 입력하면 정상적으로 nodemon 이 실행되는 것을 확인할 수 있습니다.
이후, 파일에 변경 사항이 발생하면, 자동으로 서버가 재시작되는 것을 커맨드 라인에서 확인할 수 있으며, 새로고침 시 변경 사항이 반영되어 있는 걸 확인할 수 있습니다.
'개발 > Node.js' 카테고리의 다른 글
package.json 파일이란 무엇이며 어떤 역할을 할까요? (0) | 2021.03.15 |
---|---|
NPM 패키지 매니저 개념과 작동 방식 (0) | 2021.03.15 |
Node.js 개념 및 설치 방법 (0) | 2020.10.07 |