Хрюканье imagemin не перемещает неоптимизированные изображения

Я только что заметил это в проекте, над которым я работаю:

скажем, у вас есть тонны изображений для сжатия, и они сидят в images-src папка. после сжатия они идут в images папка, и это те, которые вы используете в своем проекте.

может случиться так, что некоторые изображения не нуждаются в оптимизации, и я заметил, что они остаются в исходной папке и не перемещаются в images но это создает проблему, потому что сейчас некоторые изображения отсутствуют, и я даже не знаю, какие именно.

это ошибка или я что-то упустил?

моя конфигурация довольно проста:

imagemin: {
    dynamic: {
        files: [{
            expand: true, // Enable dynamic expansion
            cwd: '_src/images/', // source images (not compressed)
            src: ['**/*.{png,jpg,gif,svg}'], // Actual patterns to match
            dest: '_dev/images/' // Destination of compressed files
        }]
    }
}, //end imagemin

как мне в любом случае переместить мои неоптимизированные изображения из источника в dist?

1 ответ

Решение

Вы можете выполнить задачу копирования сразу после перемещения всех неоптимизированных изображений в вашем каталоге.

С некоторым фильтром, чтобы избежать перезаписи сжатых изображений, которые уже находятся в папке Dest.

 copy: {
   unoptimizedImage: {
    expand: true,
    cwd: '_src/images/',
    src: ['**/*.{png,jpg,gif,svg}'],
    dest: '_dev/images/'

    // Copy if file does not exist.
    filter: function (filepath) {
        // NPM load file path module. 
        var path = require('path');

        // Construct the destination file path.
        var dest = path.join(
            grunt.config('copy.main.dest'),
            path.basename(filepath)
        );

        // Return false if the file exists.
        return !(grunt.file.exists(dest));
    },
 },
},
Другие вопросы по тегам