我正在使用gulp来压缩图像,但我只想压缩大小超过200kb的图像。是否可以在 JavaScript 中浏览文件夹并仅对超过 200kb 的文件运行缩小?我正在使用有损图像分钟包。据我所知,它仅适用于服务器端语言,但如果可能的话,我想要一个明确的答案。提前谢谢。
是的,可能是客户端。 此示例使用 gulp 筛选器筛选出不大于 200kb 的文件。
const gulp = require("gulp");
const filter = require('gulp-filter');
const fs = require('fs');
// const path = require('path'); not needed for this example
const someImageMin = require(' your image min plugin ' );
gulp.task('default', function () {
// include only files > 200KB
// retore option needed if you want to reinject the filtered-out files later
const myFilter = filter(file => (fs.statSync(file.path).size > 200000), {restore: true});
return gulp.src(['pics/*jpg' , 'pics/*png'])
.pipe(myFilter)
.pipe(someImageMin())
// if you want to reinject the files excluded by the filter
.pipe(myFilter.restore)
.pipe(gulp.dest('new'));
});
[gulp-ignore][2] is another option.