NodeJS - nodemon не перезапускает мой сервер

Я установил NodeJS (4.4.5), а затем приступил к установке nodemon (1.9.2), я следую всем инструкциям по установке (npm install -g nodemon)

Я создал новую папку, внутри у меня есть server.js с базовым кодом:

var http = require('http');

http.createServer(function (request, response){
    response.writeHead( 200, {'Content-Type': 'text/plain'} );
    response.write("Hello world");
    response.end();
}).listen(3000, 'localhost');

console.log('http://localhost:3000');

Итак, когда я запускаю в своей консоли «nodemon server.js», я получаю следующее:

[nodemon] 1.9.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
http://localhost:3000

(что означает, что работает нормально)

Но когда я вношу некоторые изменения в свой server.js, он не перезагружает сервер.

В чем может быть проблема?


person BrianCas    schedule 03.06.2016    source источник
comment
у меня работает нормально, используя те же версии и код. Вы уверены, что сохранили файл? :)   -  person Robbie    schedule 03.06.2016
comment
да, я постоянно вношу изменения и сохраняю, единственный способ, которым я смог перезагрузить свой сервер, это набрать 'rs', как там написано   -  person BrianCas    schedule 04.06.2016
comment
может быть, вы работаете в vm? у меня были проблемы в прошлом с этим github.com/remy/nodemon/issues/146< /а>   -  person Robbie    schedule 04.06.2016


Ответы (7)


В некоторых сетевых средах (например, в контейнере, выполняющем чтение nodemon на подключенном диске) вам потребуется использовать legacyWatch: true, который включил опрос Chokidar.

Через интерфейс командной строки используйте либо --legacy-watch, либо -L для краткости:

нодемон -L

person Sergey Ivchenko    schedule 10.01.2017
comment
Это то, что решило мою проблему при запуске сервера в бродячей коробке с исходными файлами, общими с хостом. - person unexplored; 14.02.2018
comment
Это также решило мою проблему при запуске моего узла в бродячей коробке. Спасибо - person MrD; 18.03.2018
comment
Это решило мою проблему при работе с WSL2 (Ubuntu18.04). - person Ñhosko; 11.08.2020

У меня была такая же проблема на nodemon 1.9.2: 0 файлов просматривались nodemon

(попробуйте подробный режим nodemon server.js -V, чтобы получить больше информации)

После некоторых исследований эта проблема возникла из-за имени моего корневого каталога: мой корневой каталог назывался «mysite.git», поэтому nodemon просматривал 0 файлов. Я переименовал свой корневой каталог без точки, и теперь nodemon работает должным образом.

Удалите все специальные символы из вашего корневого каталога, и nodemon должен работать должным образом.

person MrP    schedule 11.07.2016
comment
Также удалите все специальные символы из каталога пути вашего проекта. - person Francute; 14.06.2017
comment
У меня был ./src/index.js, и мне пришлось удалить ./ с самого начала, чтобы он действительно смотрел файл! - person Mahdi; 14.03.2018

Вы можете попробовать запустить так nodemon -L yourapp.js, что-то вроде этого:

"scripts": {
    "start": "node index.js",
    "dev": "nodemon -L index.js "
 }

И запустите команду:

npm run dev

Это сработало для меня!

person Alejandro Pérez    schedule 07.01.2021

Отредактируйте файл package.json следующим образом:

 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon",
  },```

This may help you.
person 5hifaT    schedule 26.02.2020

Просто убедитесь, что добавили в скрипты -> start --legacy-watch ./app

"scripts": {
    "start": "nodemon --legacy-watch ./app  ./bin/www "
},
person Subrata Sen Sr.    schedule 23.03.2019

Nodemon использует сигнал SIGUSR2 для перезапуска сервера, проверьте, не переопределяет ли ваш сервер функциональность этого сигнала процесса. В моем случае я использовал модуль heapdump, который сбрасывал этот сигнал, поэтому я запустил сервер, используя: -

env NODE_HEAPDUMP_OPTIONS=nosignal nodemon app.js

Это сработало для меня.

person Pavneet Kaur    schedule 14.02.2021

Я только что столкнулся с той же проблемой, когда я вносил изменения в свой код и сохранял их, но nodemon не перезапускал мой сервер. Единственный способ, которым я мог обновить, был через «rs» в консоли. Я закончил здесь поиск решения, но потом решил просто переустановить nodemon, так как не было хорошего объяснения, почему он не работает:

npm uninstall nodemon
npm install nodemon

После переустановки сработала автоматическая перезагрузка при смене кода.

person Kellen Preston    schedule 02.04.2019