gulp.watch не обнаруживает изменения в пустом каталоге

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

Для ясности, наблюдение обнаруживает файлы, которые добавляются и удаляются только после того, как хотя бы один файл существует в этом каталоге.

Мой вопрос, является ли это ошибкой или нет, это ошибка исключительно для меня, или если больше людей испытали это. Также кто-нибудь знает о текущей работе вокруг?

Вот мое задание глотка:

gulp.task('watch', () => {
var watcher = gulp.watch('src/styles/scss/*.scss', {cwd: './'}, ['styles']);

watcher.on('change', (event) => {
    console.log(`File ${event.path} was ${event.type}, running tasks...`);
});

Текущая версия глотка: 3.9.1

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

Спасибо!

1 ответ

Потрясающие! Спасибо, Mark, за то, что направил меня в правильном направлении. Это не ошибка, есть только определенный способ сделать это.

gulp.task('watch', () => { 
    var watcher = gulp.watch(['src/styles/scss/*.scss', 'src/styles/*],{cwd: './'}, ['styles']);

watcher.on('change', (event) => {
    console.log(`File ${event.path} was ${event.type}, running tasks...`);
});

Хитрость заключается в том, что ваш родительский каталог следит за изменениями. Теперь он будет обнаруживать изменения файлов, а также добавленные и удаленные файлы в пустых подкаталогах.

Другие вопросы по тегам