我正在尝试使用咕噜声imagemin module来优化图像。
我的目录结构以下列方式显示:
每个文件夹1..N内都有文件。所有这些都是.jpg
我想要实现的是尝试优化所有这些并使用更新版本(具有相同名称)更改它们。我开始用一个更简单的任务来优化它们并复制到保留相同结构的另一个文件夹(publicImages
)。
在文档中,我想出了以下JSON:
imagemin: {
dynamic: {
files: [{
expand: true,
cwd: 'publicImg/',
src: ['*.jpg'],
dest: 'publicImages/'
}]
}
}
告诉我Minified 0 images (saved 0 B)
,我尝试使用**/*jpg
,**/*.{jpg}
,但效果仍然相同。如何正确完成?
答案 0 :(得分:2)
下一个配置完全适合我。根据您描述的环境进行测试。
<强>的package.json 强>:
{
"devDependencies": {
"grunt": "^0.4.5",
"grunt-contrib-imagemin": "^0.7.1"
}
}
<强> Gruntfile.js 强>:
module.exports = function (grunt) {
grunt.initConfig({
imagemin: {
dynamic: {
files: [{
expand: true,
cwd: 'publicImg/',
src: ['**/*.jpg'],
dest: 'publicImages/'
}]
}
}
});
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.registerTask('default', ['imagemin']);
};
<强>输出强>:
raiden@toluca:~/projects/test$ tree publicImg/
publicImg/
├── main
└── upload
├── folder1
│ ├── 2499085-metal-gear-solid-5-exteded-e3.jpg
│ └── url.htm
├── folder2
│ └── metal-gear-solid-5-ground-zeroes-collectibles.jpg
└── folder3
├── 2574364-8751006069-14019.jpg
├── Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg
└── Metal_Gear_Solid_V_Screenshot.jpg
5 directories, 6 files
raiden@toluca:~/projects/test$ grunt
Running "imagemin:dynamic" (imagemin) task
✔ publicImg/upload/folder1/2499085-metal-gear-solid-5-exteded-e3.jpg (saved 8.99 kB - 7%)
✔ publicImg/upload/folder2/metal-gear-solid-5-ground-zeroes-collectibles.jpg (saved 8.5 kB - 25%)
✔ publicImg/upload/folder3/2574364-8751006069-14019.jpg (already optimized)
✔ publicImg/upload/folder3/Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg (saved 2.22 kB - 3%)
✔ publicImg/upload/folder3/Metal_Gear_Solid_V_Screenshot.jpg (already optimized)
Minified 5 images (saved 19.71 kB)
Done, without errors.
raiden@toluca:~/projects/test$ tree publicImages/
publicImages/
└── upload
├── folder1
│ └── 2499085-metal-gear-solid-5-exteded-e3.jpg
├── folder2
│ └── metal-gear-solid-5-ground-zeroes-collectibles.jpg
└── folder3
├── 2574364-8751006069-14019.jpg
├── Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg
└── Metal_Gear_Solid_V_Screenshot.jpg
4 directories, 5 files
也许你的grunt-contrib-imagemin安装有问题。尝试npm rebuild grunt-contrib-imagemin
并查看是否有任何错误。或者按npm update grunt-contrib-imagemin
更新模块。