Пришел к выводу что для вас лучше использовать
gulp-sync-files или
gulp-dir-sync вместо clean/del, и запускать таски после синхронизации.
gulp.task('img', function() {
watch(paths.images, function() {
del('public/images/*');
})
.pipe(imagemin({
progressive: true,
svgoPlugins: [{removeViewBox: false}],
use: [pngcrush()]
}))
.pipe(gulp.dest('public/images/'));
});
Старый ответ:
gulp.task('watch', function() {
gulp.watch(paths.styles, ['styles']);
gulp.watch(paths.scripts, ['scripts']);
gulp.watch(paths.images, ['images']);
});
//в Task переписать вместо
gulp.task('styles', function() {
//добавив , ['clean'] после названия
gulp.task('styles', ['clean'], function() {
//или в вотчере юзать 2 таска
gulp.watch('js/**/*.js', ['clean','styles']);
//Пример моего clean
var del = require('del'); // https://www.npmjs.org/package/del
gulp.task('clean', function(cb) {
del(['dist'], cb);
});
Или вот так
если фуллстак.