В моем файле gulpfile я копирую несколько глобусов файлов (различных форматов), и если любой из этих глобусов содержит изображение, я хотел бы оптимизировать его с помощью gulp-imagemin
.
Проблема в том, gulp-imagemin
ожидает только изображения, в противном случае выбрасывает неподдерживаемое изображение в журнале, поэтому, если бы я передал весь глобус, это привело бы к множеству ошибок, и я хочу избежать этого. Я попытался gulp-if
отфильтровать глобус, хотя он работает как фильтр и предотвращает эти ошибки, кажется, что он всегда проходит хотя бы один раз, даже если нет изображений. Например, он по-прежнему будет вызывать imagemin () один раз, даже если png-файлов нет вообще:
gulp.task('test:imagemin', function () {
return gulp.src('*.nothing')
.pipe(gulpif('*.png', imagemin({ verbose: true })));
});
Это будет регистрировать «Minified 0 images», и, поскольку в моем реальном сценарии я передаю десятки глобусов без изображений, мой журнал спамится им. Если я установлю условие gulpif на статическое false, оно вообще не будет вызывать imagemin, поэтому должно быть что-то с этим условием, не являющееся ложным, когда это должно быть?
Как вообще не вызывать imagemin (), если glob не содержит файл определенного типа?