Nodemon

Последнее обновление: 22.11.2023

В процессе разработки может потребоваться необходимость внести изменения в уже запущенный проект. Допустим, у нас приложение представлено файлом app.js, где определен следующий код:

const http = require("http");

let message = "Hello World!";
http.createServer(function(request,response){
	
	console.log(message);
	response.end(message);
	
}).listen(3000, "127.0.0.1",()=>{
	console.log("Сервер начал прослушивание запросов");
});

Запустим сервер с помощью команды node app.js, и при обращении пользователя по адресу http://localhost:3000/ браузер пользователя отобразит строку "Hello World!". Одновременно строка выводится на консоль.

c:\app> node app.js
Сервер начал прием запросов по адресу http://localhost:3000
Hello World!
Hello World!

При этом сервер продолжает быть запущенным. И если мы изменим переменную message в файле app.js, то это никак не повлияет на работу сервера, и он будет продолжать отдавать клиенту строку "Hello World!".

В этом случае необходимо перезапустить сервер. Однако это не очень удобно, особенно когда необходимо часто делать различные изменения, тестировать выполнение. И в этом случае нам может помочь специальный инструмент nodemon. Для его использования определим в папке проекта следующий файл package.json:

{
  "name": "helloapp",
  "version": "1.0.0",
  "scripts": {
    "start": "nodemon app.js"
  },
  "dependencies": {
    "nodemon": "^3.0.1"
  }
}

В секции scripts определена команда "start", которая в реальности будет запускать команду "nodemon app.js" и запускать файл через nodemon.

В секции dependencies указан пакет nodemon для установки.

Вначале перейдем в консоли к папке проекта и установим сам nodemon в проект с помощью команды npm install:

c:\app> npm install

added 34 packages, and audited 35 packages in 3s

3 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
c:\app> 

Затем запустим приложение с помощью команды npm start, которую мы определили выше в package.json:

c:\app> npm start     

> helloapp@1.0.0 start
> nodemon app.js

[nodemon] 3.0.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node app.js`
Сервер начал прием запросов по адресу http://localhost:3000

Итак, наше приложение запущено, мы можем обращаться к нему в барузере. И если вдруг после запуска сервера мы изменим его код, например, поменяем переменную message с "Hello World!" на "Goodbye World!", то сервер автоматически будет перезапущен:

c:\app> npm start     

> helloapp@1.0.0 start
> nodemon app.js

[nodemon] 3.0.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node app.js`
Сервер начал прием запросов по адресу http://localhost:3000
Hello World!
Hello World!
[nodemon] restarting due to changes...
[nodemon] starting `node app.js`
Сервер начал прием запросов по адресу http://localhost:3000
Goodbye World!
Goodbye World!

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850