今天工作目的:grunt 实现全部js文件备份和压缩
我要把整个网站的所有js压缩,还要保留原文件,所以先备份一份,在压缩一份。
使用copy 插件,实现了备份,代码:
copy: {
main: { files: [{ expand: true, cwd: 'js/', src: ['**/*.js'], dest: 'js/', rename: function(dest, src) { return dest + src.substring(0, src.indexOf('.')) + '_origin.js'; } }]
}
}
有个rename 参数实现重命名。参考:http://stackoverflow.com/questions/15271121/how-can-i-rename-files-with-grunt-based-on-the-respective-files-parent-folder
备份成功之后使用uglify插件,把所有带有_origin后缀的js压缩,去掉后缀,换成原来的名字,代码:
uglify:{ options: { mangle: false }, my_target: { files: [ { expand: true, cwd: 'js/', src: ['**/*_origin.js'], dest: 'js/', rename: function(dest, src) { return dest + src.substring(0, src.indexOf('_origin')) + '.js'; } }] } }
OK了,