我使用grunt-image-resize
(https://github.com/excellenteasy/grunt-image-resize)来调整图像的大小。但是我的问题是一般性的Grunt,以及我们在任务中插入文件名的方式。
_small
,例如,在文件名中。现在,我正在做的是:
image_resize: {
bg: {
options: {
width: 640,
quality: 0.5,
overwrite: true
},
files: [{
expand: true,
cwd: '<%= pkg.path.images_source %>/bg',
src: ['{,*/}*.{gif,jpeg,jpg,png}'],
dest: '<%= pkg.path.images_source %>/bg/mobile'
}]
}
}
有效地将处理过的文件保存到名为mobile
的子文件夹中。但是我真正想做的是:
dest: '<%= pkg.path.images_source %>/bg/{filename}_small.{fileextension}'
使用Grunt是否容易做到这一点?在SO上找不到任何东西,老实说我不知道该找什么…
提前感谢!
更新:
我可以在tmp
文件夹中输出图像,然后使用grunt-contrib-copy
以不同的名称将它们保存在根文件夹中,但我认为它变得非常乏味……我在寻找一个更干净,更快捷的方式。
您可以使用一个重命名函数来更改目标名称:
files: [{
// ...
rename: function(dest, src) {
var path = require('path'),
basename = path.basename(src),
ext = path.extname(file),
filename = basename.replace(ext, '');
return path.join(dest, filename + '_small' + ext)
}
}]