Nodemon і запуски скриптів

Як видно з попередніх прикладів, при зміні коду нашого сервера, щоб зміни запрацювали потрібно перезапускати щоразу сервер. При розробці це дуже незручно.

Вирішити цю незручність допоможе пакет nodemon. Він дозволяє перезапускати сервер щоразу при внесенні змін в наш проєкт. Встановимо цей пакет:

terminal
npm install --save-dev nodemon

Тепер налаштуємо запуски скриптів. Для початку відкриємо наш package.json.

{
  "name": "03",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "Sasha Khomiak",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.2",
  },
  "devDependencies": {
    "nodemon": "^3.0.1"
  }
}

Тут нас цікавить параметр scripts, це обʼєкт який містить конфігурації команд для запуску наших скриптів. Запустимо в терміналі таку команду:

terminal
npm test

Бачимо як відпрацював скрипт test.

Так само, можна створити скрипт "start" і запустити його командою npm start. Назви test i start зарезервовані для запуску безпосередньо після команди npm.

Всі решта кастомних скриптів запускаються командою

terminal
npm run НАЗВА_СКРИПТА

Додамо іще два скрипти в наш package.json. Один для режиму розробника і один режим повноцінної роботи продукту.

"dev": "nodemon index.js",
"prod": "node index.js",
package.json після доповнення скриптів
{
  "name": "03",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "nodemon index.js",
    "prod": "node index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "Sasha Khomiak",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.2",
  },
  "devDependencies": {
    "nodemon": "^3.0.1"
  }
}

Тепер, щоб запустити ці скрипти потрібно запустити такі команди відповідно:

terminal
npm run dev
terminal
npm run prod

Тепер щоразу при збереженні змін у нас буде перезапускатися сервер.

Покликання:

Nodemon

Last updated