0
我試圖高效地生成響應圖像在網站上使用,但在處理現有文件和路徑的時候遇到了一些麻煩。圖像駐留在分層結構的文件夾中,其中pages
是具有向下遞歸的多個子文件夾的根,其中大部分都具有圖像。高效響應的圖像吞嚥
我現在的任務是這樣的:
gulp.task('responsive', function() {
gulp.src('pages/**/*.{jpg,png}')
.pipe($.plumber({
errorHandler: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(responsive({
'**/*.*': [{
width: 2240,
suffix: '-2240',
quality: 70
}, {
width: 1920,
suffix: '-1920',
quality: 70
}, {
width: 1600,
suffix: '-1600',
quality: 70
}, {
width: 1280,
suffix: '-1280',
quality: 70
}, {
width: 1280,
height: 300,
crop: true,
gravity: 'Center',
suffix: '-thumbwide',
quality: 70
}, {
width: 960,
suffix: '-960',
quality: 70
}, {
width: 640,
suffix: '-640',
quality: 70
}, {
width: 480,
suffix: '-480',
quality: 70
}, {
width: 320,
suffix: '-320',
quality: 70
}]
}))
.pipe(gulp.dest(function(file) {
return file.base;
}));
});
沒有與此兩個主要問題:
- 圖像被管道輸送到同一文件夾作爲其來源,他們什麼時候最好是在
images
- 文件夾旁邊的文件夾。 - 如果任務再次運行,它會根據源和先前生成的響應圖像生成新文件。
該任務使用gulp-responsive-images,該功能利用GraphicsMagick進行調整大小。我嘗試使用gulp-changed(設置爲.pipe($.cached('pages'))
)來解決問題2,但它似乎沒有效果。
如何根據當前設置解決問題1和2?