使用Grunt,Newer和Watch来优化一堆图像

时间:2015-07-10 18:12:27

标签: javascript wordpress gruntjs grunt-contrib-watch grunt-contrib-imagemin

我今天开始习惯咕噜咕噜。我想创建一个咕噜包?脚本?模块?任务?优化将上传到某个文件夹的所有图像(上传/ ...它是一个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']);
}

似乎工作正常,该任务首先尝试优化所有现有图像(如果它们尚未优化),此监视确保优化任务在uploads文件夹中的图片发生更改时运行,更新确保只有新图像文件将被优化。

因为我刚开始咕噜咕噜,有什么我错过的吗?如果上传需要很长时间会发生什么,将观看已经在未完成的文件上启动任务,我该如何防止它?

0 个答案:

没有答案