2016-04-14 29 views
0

Ben sıkıştırmak ve üzerine yazmak için birlikte 'yudum-cache' ile klasörünün images/ altında dosyası değişiklikleri izlemek 'yudum-izle' kullanılarak ve 'yudum-imagemin' kullanıyorum görüntü dosyalarını değiştirdi.Gulp-izle görev

watch görevi düzgün çalışıyor ve yeni bir görüntü dosyası eklediğimde sonsuz döngüde img-minify görevi sıkıştı.

'gulp-cache' kullanımını kaldırmayı denedim, ancak img-minify görevi hala sonsuz döngü ile sonuçlandı.

Teşekkürler.

var gulp = require('gulp'), 
    watch = require('gulp-watch'),   
    imagemin = require('gulp-imagemin'), 
    pngquant = require('imagemin-pngquant'), 
    cache = require('gulp-cache'); 

gulp.task('clear', function() { 
    return cache.clearAll(); 
}); 

gulp.task('img-minify', function() { 
    var paths = { 
     src: 'images/**/*', 
     dest: 'images/' 
    }; 
    return gulp.src(paths.src) 
    .pipe(cache(imagemin({ 
     progressive: true, 
     use: [pngquant()] 
    }))) 
    .pipe(gulp.dest(paths.dest)); 
}); 

var paths = { 'img': ['images/**/*.png', 'images/**/*.jpg'] }; 
gulp.task('watch', function() { 
    watch(paths.img, function() { 
     gulp.start('img-minify'); 
    }); 
}); 

gulp.task('default', ['watch']); 
+0

Fotoğraflarınız için farklı bir dest dizini kullanmayı deneyin. – Barryman9000

+0

@ Barryman9000 Teşekkürler. Bu sorunu çözebilir, ancak src görüntülerinin üzerine yazmak istiyorum. Belki de "gulp-cache" paketi, "gulp-watch" ile sonsuz döngüyü kırabilir, ancak bunu başarmanın bir yolunu bulamadım. – knight9631

cevap

1

Sanırım bir klasörü izliyorsunuz ve aynı klasörü değiştirecek bir görevi tetikliyorsunuz. Bunu yaparak, izleyici her zaman bir dosya değişikliği yakalar ve görevi tekrar tekrar tetikler.

Sanırım iki seçeneğiniz var.

  1. source ve distribution; source'u izleyin ve görevi distribution'dan çalıştırın.
  2. Yola filtreler ekleyin, böylece değiştireceğiniz dosyaları izlemezsiniz.
İlgili konular