0
我使用gulp壓縮圖像,但我只想壓縮超過200kb大小的圖像。是否有可能在JavaScript中通過一個文件夾,並只對超過200kb的文件運行縮小?我正在使用lossy-imagemin軟件包。據我所知,它只能使用服務器端語言,但如果可能的話,我想要一個明確的答案。提前致謝。是否可以在基於文件大小運行任務的gulp文件中添加if語句?
我使用gulp壓縮圖像,但我只想壓縮超過200kb大小的圖像。是否有可能在JavaScript中通過一個文件夾,並只對超過200kb的文件運行縮小?我正在使用lossy-imagemin軟件包。據我所知,它只能使用服務器端語言,但如果可能的話,我想要一個明確的答案。提前致謝。是否可以在基於文件大小運行任務的gulp文件中添加if語句?
是的,它可能是客戶端。此示例使用gulp-filter過濾不超過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.
謝謝。我會放棄這一點。 –
您使用的是什麼gulp庫? – Garfield
我很新的吞嚥,所以我不知道什麼是圖書館?但是,如果這就是你的意思,我正在使用有損imagemin(https://www.npmjs.com/package/lossy-imagemin)的圖像? –