2016-09-15 7 views
0

以下のではにoriginals/logos/a.jpgが既に存在する場合は、responsiveimageOptim.optimize関数を実行しません。すでに処理されているファイルをスキップするようにgulpに指示するにはどうすればよいですか?

gulp.task('logos', function() { 
    return gulp.src('originals/logos/*.{png,jpg}') 
    .pipe(responsive({ 
     '*.*': sizes.map(function(size) { 
     return { 
      width: '' + (size * 100) + '%', 
      rename: { 
      suffix: size === 1 ? '' : ('@' + size + 'x') 
      } 
     } 
     }) 
    })) 
    .pipe(imageOptim.optimize()) 
    .pipe(gulp.dest('dist/logos')); 
}); 

答えて

1

これにはgulp-changedを使用できます。 'dist/logos'ですでに'originals/logos/*.{png,jpg}'でありますし、どれマッチしたファイルがresponsiveステップ前に除外されます。

var changed = require('gulp-changed'); //   <---- add 

gulp.task('logos', function() { 
    return gulp.src('originals/logos/*.{png,jpg}') 
    .pipe(changed('dist/logos')) //    <---- add 
    .pipe(responsive({ 
     '*.*': sizes.map(function(size) { 
     return { 
      width: '' + (size * 100) + '%', 
      rename: { 
      suffix: size === 1 ? '' : ('@' + size + 'x') 
      } 
     } 
     }) 
    })) 
    .pipe(imageOptim.optimize()) 
    .pipe(gulp.dest('dist/logos')); 
}); 
+0

完璧に働いた、ありがとうございました! –

+1

あなたは大歓迎です、私はうれしいです – henry

関連する問題