来自两个源文件的grunt uglify

时间:2013-12-16 12:45:54

标签: javascript node.js gruntjs

我使用以下方法生成两个连接文件:

concat: {
    header: {
        src: [
            // these will go in header
            'assets/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js',
            'assets/js/jquery-ui/jquery-ui.js',
            'assets/js/select2/select2.min.js',
            'assets/js/icheck/jquery.icheck.js',
            'assets/uploadify/js/jquery.fileupload.js'
        ],
        dest: 'assets/js/admin_header_common.js'
    },
    footer: {
        src: [
            'assets/js/vendor/bootstrap.min.js',
            'assets/js/bootstrap-lightbox.min.js',
            'assets/js/jqBootstrapValidation.js',
            'assets/js/tinymce/tinymce.min.js',
            'assets/js/common.js'
        ],
        dest: 'assets/js/admin_footer_common.js'
    }
},

现在我想压缩这两个生成的连接文件,所以我这样做了:

// minify js
uglify: {
    build: {
        header: {
            src: 'assets/js/admin_header_common.js',
            dest: 'assets/js/admin_header_common.min.js'
        },
        top: {
            src: 'assets/js/admin_footer_common.js',
            dest: 'assets/js/admin_footer_common.min.js'
        }
    }
},

但问题是生成的文件没有被压缩。以上uglify声明是否正常或我遗失了什么?我只需要压缩两个文件并生成两个单独的目标文件。

非常感谢您的帮助

1 个答案:

答案 0 :(得分:5)

配置如下

  grunt.initConfig({
    uglify: {
      header: {
        files: {
          'assets/js/admin_header_common.min.js': 'assets/js/admin_header_common.js'
        }
      },
      footer: {
        files: {
          'assets/js/admin_footer_common.min.js': 'assets/js/admin_footer_common.js'
        }
      }
    }
  });

uglify:header用于其中一个,uglify:footer用于另一个。