Использование Grunt, Newer и Watch для оптимизации набора изображений

Я начал сегодня привыкать к хрюканью. Я хотел создать грязную посылку? скрипт? модуль? задача? который оптимизирует все изображения, которые будут загружены в определенную папку (загружает / ... это установка WordPress).

После небольшой игры я создал этот маленький Gruntfile.js

module.exports = function(grunt) {
    grunt.initConfig({
        imagemin: { 
            dynamic: { 
                files: [{
                    expand: true,
                    cwd: '../uploads', 
                    src: ['**/*.{png,jpg,gif}'],
                    dest: '../uploads'
                }]
            }
        },
        watch: {
            options: { nospawn: true},
            scripts: {
                files: ['../uploads/**/*.{png,jpg,gif}'],
                tasks: ['newer:imagemin']
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-imagemin');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-newer');
    grunt.registerTask('default', ['newer:imagemin','watch']);
}

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

Потому что я только начал с ворчанием, я что-то пропустил? Что произойдет, если загрузка займет длительное время, будет ли уже запускать задачу для незаконченного файла и как я могу предотвратить это?

0 ответов

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