Gulp-Nodemon отслеживает изменения и перезапускается только ОДИН РАЗ

Как следует из названия, я использую модуль gulp-nodemon в своем файле gulp, чтобы nodemon перезапускал мой сервер, когда он обнаруживает изменение файла:

gulp.task('default', function() {
    nodemon({ script: 'dist/server/main.js',
        tasks: ['server', 'bundle', 'css', 'ejs'],
        ext: 'ejs js json'
    }).on('restart', function() {
        console.log('Restarted!');
    });
});

Все задачи, которые я перечислил, являются базовыми задачами сборки. Когда я изменяю файл, сервер перезагружается, но будущие изменения игнорируются:

введите здесь описание изображения

Более того, если я прерываю процесс (CTRL+C), nodemon показывает сообщение о перезапуске, как будто два экземпляра работают одновременно:

введите здесь описание изображения

Я что-то не так делаю с gulp-nodemon? Или просто gulp вообще?


person Kenny Worden    schedule 11.06.2015    source источник
comment
Когда вы вносите изменения после первоначального запуска, он говорит, что выполняет задачи, но ничего не меняет?   -  person Sam Eaton    schedule 12.06.2015
comment
Да, меняется и успешно перезагружается.   -  person Kenny Worden    schedule 12.06.2015
comment
Похоже, это проблема самого gulp-nodemon: github.com/JacksonGariety/gulp-nodemon/ выпусков/70   -  person Kenny Worden    schedule 12.06.2015


Ответы (2)


Я узнал, что это проблема с gulp-nodemon. Не похоже, что это будет исправлено в ближайшее время. Предлагаю поискать альтернативу.

https://github.com/JacksonGariety/gulp-nodemon/issues/70

person Kenny Worden    schedule 14.07.2015
comment
У меня точно такая же проблема с использованием простого nodemon без плагина gulp-nodemon. - person astronaut; 20.10.2015

У меня была аналогичная проблема, когда nodemon, который использовался как часть задачи watch gulp, которая у меня была, - запускался только ОДИН РАЗ, а затем, похоже, НЕ отслеживал какие-либо изменения кода файла, которые я делал после этого.

Моя задача gulp watch запускала модульные тесты/анализ, а затем выполняла сборку изменений в файле.

Я обнаружил, что проблема была на самом деле в моих модульных тестах, где у меня был плохой импорт. то есть я импортировал несуществующий модуль кода. По сути, это была ошибка модуля импорта, которая, казалось, была поглощена gulp, и после этого nodemon перестал отслеживать изменения.

Я нашел основную причину, закомментировав код (начиная со всех тестов), а затем проследил его до точного тестового файла с неправильным импортом. После того, как я исправил модуль импорта, nodemon заработал отлично!

Подводя итог, скорее всего, это ошибка импорта модуля в вашем коде, из-за которой nodemon ведет себя таким образом, но ошибка была проглочена gulp.

person newbreedofgeek    schedule 29.06.2020