Доброго времени суток всем!
Вопрос для знатоков Javascript и Gulp.js.
Заключается в следующем.
Имеется созданная Gulp Task для оптимизации изображений:
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
browserSync = require('browser-sync'),
imagemin = require('gulp-imagemin');
// IMAGE OPTIMIZE
gulp.task('imageminTask', function(){
gulp.src(['app/images/*.{png,jpg,gif}', '!sprite/*'])
.pipe(plumber())
.pipe(imagemin({
optimizationLevel: 3,
interlaced: true,
progressive: true
}))
.pipe(gulp.dest('build/images/'));
});
// WATCH
gulp.task('watchTask', function(){
gulp.watch('app/templates/**/*.jade', ['jadeTask']);
gulp.watch('app/styles/**/*.styl', ['stylusTask']);
gulp.watch('app/scripts/**/*.js', ['javascriptTask']);
gulp.watch('app/images/*.{png,jpg,gif}', ['imageminTask']);
});
// DEFAULT
gulp.task('default', ['jadeTask', 'stylusTask', 'javascriptTask', 'imageminTask', 'browserSyncTask', 'watchTask']);
Странность поведения этой задачи заключается в том, что она отслеживает появление в директории
images
новых изображений и запускает прописанные в ней действия
только в одном случае - если при первоначальном запуске в директории
images
уже находилось хотя бы одно изображение.
Если же директория
images
при первоначальном запуске задачи была пуста, то задача
не отслеживает появление в ней новых изображений и
не выполняет своих действий, соответственно.
Весьма странное поведение, которого по идее не должно быть.
Прошу помощи.