Gulp 高效响应图像,可吞咽
我正在尝试高效地生成响应图像,以便在网站上使用,但在处理gulp中的现有文件和路径时遇到一些问题。图像位于分层结构的文件夹中,其中Gulp 高效响应图像,可吞咽,gulp,graphicsmagick,responsive-images,Gulp,Graphicsmagick,Responsive Images,我正在尝试高效地生成响应图像,以便在网站上使用,但在处理gulp中的现有文件和路径时遇到一些问题。图像位于分层结构的文件夹中,其中页面是根文件夹,有几个向下递归的子文件夹,其中大多数都有图像 我当前的任务如下所示: gulp.task('responsive', function() { gulp.src('pages/**/*.{jpg,png}') .pipe($.plumber({ errorHandler: function (err) {
页面
是根文件夹,有几个向下递归的子文件夹,其中大多数都有图像
我当前的任务如下所示:
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
-文件夹中时,图像通过管道传输到与源相同的文件夹中.pipe($.cached('pages'))
)来解决问题2,但似乎没有效果
如何根据当前设置解决问题1和问题2?这两个问题的解决方案如下:
图像
-文件夹的需要。相反,保留一个单独的源文件
-文件夹,其中包含整齐排列的原始图像和文本文件输出
-文件夹,并在文本文件旁边放置响应图像 "devDependencies": {
"del": "^2.2.0",
"gulp": "^3.9.1",
"gulp-cached": "^1.1.0",
"gulp-debug": "^2.1.2",
"gulp-gitignore": "^0.1.0",
"gulp-imagemin": "^2.4.0",
"gulp-load-plugins": "^1.2.2",
"gulp-responsive": "^2.2.0"
}
它从
源
获取文件,将其移动到输出
,从输出
的内容构建响应图像并将其存储在响应
中,然后应用imagemin并将其移回输出
。最后,responsive
被清除。这两个问题的解决方案如下:
图像
-文件夹的需要。相反,保留一个单独的源文件
-文件夹,其中包含整齐排列的原始图像和文本文件输出
-文件夹,并在文本文件旁边放置响应图像 "devDependencies": {
"del": "^2.2.0",
"gulp": "^3.9.1",
"gulp-cached": "^1.1.0",
"gulp-debug": "^2.1.2",
"gulp-gitignore": "^0.1.0",
"gulp-imagemin": "^2.4.0",
"gulp-load-plugins": "^1.2.2",
"gulp-responsive": "^2.2.0"
}
它从源
获取文件,将其移动到输出
,从输出
的内容构建响应图像并将其存储在响应
中,然后应用imagemin并将其移回输出
。最后,responsive
被清理