Martovitskiy
@Martovitskiy

Почему не работает reload html?

Ловлю ошибку TypeError [ERR_INVALID_ARG_TYPE]: The "listener" argument must be of type Function. Received type undefined
Насколько понял появляется из-за gulp.watch("*.html").on("change", browserSync.reload);
Если пишу просто gulp.watch("*.html", browserSync.reload); ошибки нет, но и reload не срабатывает.

gulpfile.js

const
  gulp          = require('gulp'),
  sass          = require('gulp-sass'),
  browsersync   = require("browser-sync").create(),
...

function browserSync(done) {
  browsersync.init({
    injectChanges: true,
    server: {
      baseDir: "./"
    },
    port: 3000,
    notify: false
  });
  done();
}

function watchFiles(done) {
  gulp.watch('assets/sass/**/*.sass', gulp.parallel(gulpSass));
  gulp.watch('assets/css/**/*.css', browserSync.reload);
  gulp.watch('assets/js/**/*.js', browserSync.reload);
  gulp.watch("*.html").on("change", browserSync.reload);
  done();
}

const watch = gulp.parallel(watchFiles, browserSync);


exports.watch = watch;


Кто сталкивался? Или возможно я что то делаю не так?
  • Вопрос задан
  • 379 просмотров
Решения вопроса 1
Martovitskiy
@Martovitskiy Автор вопроса
Проблема решена добавлением отдельной функции перезагрузки
function reload(done) {
  browserSync.reload();
  done();
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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