Grunt imagemin-观察多个文件/文件夹优化单个文件
Grunt imagemin - watch multiple files/folders optimise single file?
是否可以监视多个文件/文件夹,但使用grunt contrib imagemine和grunt contib watch仅优化单个文件?
我试过这样:(gruntfile的一部分)
imagemin: {
dist: {
cwd: 'images/modules',
files: ['images/modules/**/*.{png,jpg,gif}'],
dest: 'images/modules'
}
},
watch: {
images: {
files: ['images/modules/**/*.{png,jpg,gif}'],
tasks: ['imagemin'],
options: {
spawn: false,
}
}
}
grunt.event.on('watch', function(action, filepath, target) {
if (grunt.file.isMatch(grunt.config('watch.images.files'), filepath)) {
grunt.config('imagemin.dist.src', [filepath]);
}
});
但它不起作用。它返回:
Running "imagemin:dist" (imagemin) task
Verifying property imagemin.dist exists in config...OK
Files: [no src] -> images/modules
Options: optimizationLevel=7, progressive, pngquant=false
Options: optimizationLevel=7, progressive, pngquant=false
Warning: path must be a string
有什么想法吗?非常感谢。
基于grunt contrib imagemin文档,file属性采用src/dest(key/value)对的对象。
files: { // Dictionary of files
'dist/img.png': 'src/img.png', // 'destination': 'source'
'dist/img.jpg': 'src/img.jpg',
'dist/img.gif': 'src/img.gif'
}
我相信这就是你犯错误的原因。
为了做你想做的事,至少我认为你想做,我会在imagemin中添加另一个子任务,如下所示。
imagemin: {
dist: {
files: [{
expand: true, // Enable dynamic expansion
cwd: 'images/modules', // Src matches are relative to this path
src: ['images/modules/**/*.{png,jpg,gif}'],// Actual patterns to match
dest:'images/modules' // Destination path prefix
}]
},
single: {
cwd: 'images/modules',
files: 'images/modules/img.png': 'images/modules/img.png',
dest: 'images/modules'
}
},
watch: {
images: {
files: ['images/modules/**/*.{png,jpg,gif}'],
tasks: ['imagemin:single'],
options: {
spawn: false,
}
}
}
因此上面的watch命令将监视与文件regex匹配的所有文件,并将执行CCD_ 2主任务的CCD_。
我再次认为这是你想做的,但如果不能,你能解释更多吗?
相关文章:
- 将配置文件文件夹移动到sdcardfirefoxmobile14.0
- Grunt imagemin-观察多个文件/文件夹优化单个文件
- Angular 2-模型驱动的表单,带有输入文件(文件上传)
- 将整个JavaScript文件文件夹添加到HTML5应用程序缓存中
- HTML或JavaScript,如何找出程序文件文件夹的位置
- 使用 OS 在 JavaScript 中预置文件.文件
- 使用纯 JavaScript 创建文件/文件夹
- 基本脚本,它向自己发送一封包含从文件文件夹中随机选择的内容的邮件
- 巴贝尔节点不't编译时忽略指定的文件/文件夹
- 在以下场景中,如何使代码可用于多个文件文件对象
- Chrome拖放文件/文件夹不工作
- Bootstrap fileinput删除所有文件文件,而不是要删除的特定预览文件
- 如何在SonarQube 4.4's技术债务计算中忽略文件/文件夹?
- OneDrive for Business是否有客户端javascript库提供文件/文件夹选择器控件?
- 将文件从插件复制到配置文件文件夹
- 从sd卡复制目录到“文件”;文件夹中
- 逐行读取上传的文件.文件,使用cfs:gridfs存储)
- 配置grunt copy任务,排除文件/文件夹
- 用于检查CSS和JS文件文件夹的工具
- gruntjs:将文件+文件夹重命名为任务