我今天开始习惯咕噜声。我想创建一个 grunt 包?脚本?模块?任务?它优化了将上传到某个文件夹的所有图像(上传/ ...这是一个 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']);
}
似乎工作正常,任务首先尝试优化所有现有图像(如果它们尚未优化),在此监视确保只要上传文件夹中的图片发生更改时优化任务就会运行,更新确保只有新文件将被优化。
因为我刚开始使用 grunt,有什么我错过的吗?如果上传需要很长时间会发生什么,会看到已经在未完成的文件上启动任务,我该如何防止它?