Почему gulp не обновляет все файлы html?

Почему пишу так:

gulp.task('watch', function () {
  watch('./app/*.html', gulp.parallel( bs.reload ))
})
и он не обновляет страницы при изменении А когда пишу так:
gulp.task('watch', function () {
  watch('./app/index.html', gulp.parallel( bs.reload ))
}) то так обновляет файл, что я не так делаю выше?


Ответы (1 шт):

Автор решения: Nikolya Shirshov

Проблема в gulp.parallel( bs.reload ), функция выполняется только 1 раз, т.к. bs.reload() не предназначена для прямой передачи в gulp.parallel.

В документации описана структура функции передаваемой в gulp.parallel:

function foo(done) {
  // тело функции
  done(); // Говорим gulp что функция выполнена
}

Решение 1:

Обернуть bs.reload() в функцию:

function reloadBrowser(done){
    bs.reload();
    done();
}

gulp.task('watch', function () {
    gulp.watch('./app/*.html', gulp.parallel( reloadBrowser ));
})

Решение 2:

Использовать watch().on("change", callback)

gulp.task('watch', function () {
    gulp.watch('./app/*.html').on("change", bs.reload);
})
→ Ссылка