Я пытаюсь настроить пакет imagemin для запуска через gulp. Кажется, пакет заработал, однако есть ряд необъяснимых проблем:
const imgSRC = 'images/*';
const imgDIST = '../wwwroot/dist/images';
function imageComp() {
gulp.src(imgSRC)
.pipe( imagemin({
verbose: true
}) )
.pipe( gulp.dest(imgDIST) )
}
Во-первых, когда я запускаю пакет imagemin, он сообщает мне, что все изображения уже оптимизированы. Независимо от того, какие изображения я пытаюсь оптимизировать, мне сообщают, что они уже оптимизированы.
Во-вторых, созданные «оптимизированные» изображения кажутся сломанными/поврежденными и их нельзя просмотреть ни в каком другом программном обеспечении.
Наконец, кажется, что размер файла «оптимизированных» изображений на самом деле больше, чем оригинал. Например, размер одного изображения в формате .jpeg увеличивается почти вдвое — с 1785 КБ до 3213 КБ.
Есть ли у кого-нибудь идеи по этому поводу? Я не могу найти других случаев подобных проблем в этом пакете.
Этот вопрос похож на: Копирование изображений с помощью Gulp повреждено. Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.
@Марк - Вы правы, вопрос тот же. К сожалению, во время своего исследования я не нашел этого вопроса. Не стесняйтесь объединять/удалять по мере необходимости. Спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я нашел решение, и проблема не связана с imagemin. Проблема вызвана версией gulp (v5.0.0).
Решение состоит в том, чтобы включить , { encoding: false } в источник изображения:
const imgSRC = 'images/*';
const imgDIST = '../wwwroot/dist/images';
function imageComp() {
gulp.src(imgSRC, { encoding: false })
.pipe( imagemin({
verbose: true
}) )
.pipe( gulp.dest(imgDIST) )
}
Что файловая утилита (или подобная) расскажет вам об оптимизированных испорченных файлах?