Node.js

[Node.js] Node.js 서버 유지하기 Nodemon

건휘맨 2024. 11. 8. 14:15

개발 중에는 코드가 변경될 때마다 서버를 중지하고 다시 시작하는 작업이 번거로울 수 있다.

이러한 과정에서 효율성을 높여주는 패키지가 바로 Nodemon이다.

Nodemon을 통해 코드 수정 후 자동으로 서버가 재시작되게 할 수 있어, 개발의 편의성을 높일 수 있다.

 

터미널에서 다음 명령어를 입력하여 Nodemon을 설치한다.

npm install nodemon -D

 

여기서 -D 옵션은 Nodemon을 devDependencies에 추가하는 옵션이다.

 

package.json 파일을 보면 Nodemon이 devDependencies에 추가된 것을 확인할 수 있다.

 

이는 Nodemon이 개발에만 필요한 모듈임을 나타낸다.

반면, 서버가 작동하기 위해 꼭 필요한 모듈은 dependencies에 추가된다.

 

이렇게 분리함으로써 서버를 배포할 때는 devDependencies에 있는 패키지를 포함하지 않고

실제 서버 운영에 필요한 dependencies만 포함할 수 있다.

{
  "name": "my_app",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.21.1"
  },
  "devDependencies": {
    "nodemon": "^3.1.7"
  }
}

 

package.json 파일의 scripts 부분을 수정하여 start와 dev 명령어를 추가한다.

  • "start": "node index.js"는 기본 Node.js로 서버를 실행하는 명령어
  • "dev": "nodemon index.js"는 Nodemon을 사용하여 서버를 실행하는 명령어로, 자동으로 변경 사항을 감지해 서버를 재시작
{
  "name": "my_app",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start" : "node index.js",
    "dev" : "nodemon index.js"
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.21.1"
  },
  "devDependencies": {
    "nodemon": "^3.1.7"
  }
}

 

스크립트를 사용할 때는 npm run + "스크립트" 로 사용해준다.

npm run start 라고 입력한다면 start 라는 스크립트를 확인해서 node index.js 를 실행해주는 것이다.

 

npm run dev 을 입력해 서버를 실행해보자.

nodemon 의 편리한 점은 어떠한 내용을 수정하고 저장해주면

서버를 중지했다가 다시 실행할 필요 없이 리프레시 만으로 수정된 내용이 나타나게 된다.