今天工作目的: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了,

posted on 2014-04-17 09:48  wssdzf  阅读(162)  评论(0编辑  收藏  举报

导航