Gulp imagemin разбивает изображения и не оптимизирует

Я пытаюсь настроить пакет 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 КБ.

Есть ли у кого-нибудь идеи по этому поводу? Я не могу найти других случаев подобных проблем в этом пакете.

Что файловая утилита (или подобная) расскажет вам об оптимизированных испорченных файлах?

AKX 10.07.2024 12:56

Этот вопрос похож на: Копирование изображений с помощью Gulp повреждено. Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.

Mark 10.07.2024 18:49

@Марк - Вы правы, вопрос тот же. К сожалению, во время своего исследования я не нашел этого вопроса. Не стесняйтесь объединять/удалять по мере необходимости. Спасибо

Jonathan Hutchinson 18.07.2024 11:48
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел решение, и проблема не связана с 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) )
}

Другие вопросы по теме