我想这样做以附加原始图像的大小……就我而言,这是photoswipe 的要求。
不幸的是,尝试使用 gulp 进行此操作时,即使尝试附加当前图像的大小,我也会卡住:
var sizeOf = require('image-size');
(...)
.pipe(rename(function (path) {
var dimensions = sizeOf(path);
path.basename += ("-" + dimensions.width + "x" + dimensions.height);
}))
引发错误:
node_modules/image-size/lib/index.js:79
throw new TypeError('invalid invocation');
回答我自己的问题,以防它
基于http://www.pixeldonor.com/2014/feb/20/writing-tasks-gulpjs/帮助某人
return gulp.src(...)
.pipe(through.obj(function (chunk, enc, cb) {
dimensions = sizeOf(chunk.path);
extname = Path.extname(chunk.path);
dirname = Path.dirname(chunk.path);
basename = Path.basename(chunk.path, extname);
chunk.path = Path.join(dirname, basename + "-" + dimensions.width + "x" + dimensions.height + extname);
this.push(chunk);
cb(null, chunk);
}))
.pipe(imageResize({
width : 600,
height : 600,
crop : true,
upscale : true
}))
.pipe(gulp.dest(...));