Как вылечить [Browsersync] Reloading Browsers... (buffered 4 events)?

Всем привет! Есть вот такие участки кода!

gulp.task('browser-sync', function() {
    browserSync.init({
        server: {
            baseDir: 'app'
        }
    });
    browserSync.watch('app/**/*.*').on('change', browserSync.reload);
});

gulp.task('html', function () {
    return gulp.src(path.src.html) 
        .pipe(gulp.dest(path.app.html))
        .pipe(browserSync.reload({
            stream: true
        }));
});

gulp.task('watch', function () {
    gulp.watch(path.src.html, gulp.series('html'));
});

gulp.task('default', gulp.series(
    gulp.parallel('watch', 'browser-sync') //запускаем паралельно слежку за файлами и синхронизацию браузера
));


Запускаю дефолтную команду
По итогу работы в логах

[14:59:51] Starting 'default'...
[14:59:51] Starting 'watch'...
[14:59:51] Starting 'browser-sync'...
[Browsersync] Access URLs:
 -------------------------------------
       Local: http://localhost:3000
    External: http://192.168.1.92:3000
 -------------------------------------
          UI: http://localhost:3001
 UI External: http://localhost:3001
 -------------------------------------
[Browsersync] Serving files from: app
[14:59:57] Starting 'html'...
[Browsersync] 2 files changed (404.html, index.html)
[14:59:57] Finished 'html' after 66 ms
[Browsersync] Reloading Browsers... (buffered 4 events)


Изменения происходят все ок, watch видит изменения и обновляет файлы, браузер автоматом открывается на localhost:3000

Но вот ...

[Browsersync] Reloading Browsers... (buffered 4 events)


так и висит и не обновляется браузер, Гугл чет не хочет помогать..
не пойму почему в буфер падает и как этого избежать?
  • Вопрос задан
  • 4157 просмотров
Пригласить эксперта
Ответы на вопрос 1
Код некорректный, отслеживание изменений не нужно раскидывать по разным местам, обновление браузера прописывается в series, а-не в задаче. В gulp 4 версии обновление будет корректно работать с таким вариантом написания:
gulp.task('browser-sync', function() {
    browserSync.init({
        server: {
            baseDir: 'app'
        }
    });
});

gulp.task('html', function () {
    return gulp.src(path.src.html) 
        .pipe(gulp.dest(path.app.html));
});

gulp.task('watch', function () {
    gulp.watch('app/**/*.*').on('change', browserSync.reload);
    gulp.watch(path.src.html).on('change', gulp.series(html, browserSync.reload));
});

gulp.task('default', gulp.series(
    gulp.parallel('watch', 'browser-sync') //запускаем паралельно слежку за файлами и синхронизацию браузера
));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы