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...`);
});
Хитрость заключается в том, что ваш родительский каталог следит за изменениями. Теперь он будет обнаруживать изменения файлов, а также добавленные и удаленные файлы в пустых подкаталогах.