grunt实现把一个文件夹的目录和js一一对应压缩

来源:互联网 发布:集美大学网络中心主任 编辑:程序博客网 时间:2024/06/02 12:57

1、待压缩文件目录

2、压缩后文件目录

3、GruntFile.js代码


module.exports=function(grunt){
    grunt.initConfig({
        pkg:grunt.file.readJSON('package.json'),
        //uglify压缩
        uglify:{
            options:{
                stripBanners:true,
                banner:'/*! <%=pkg.name%>-<%=pkg.version%>.js <%=grunt.template.today("yyyy-mm-dd") %> */\n'
            },
            my_target: {
                files: [
                    {
                        expand: true,
                        //相对路径
                        cwd: 'src/',
                        src: '**/*.js',
                        dest: 'min/',
                        // rename: function (dest, src) {
                        //     var folder = src.substring(0, src.lastIndexOf('/'));
                        //     var filename = src.substring(src.lastIndexOf('/'), src.length);
                        //     //  var filename=src;
                        //     filename = filename.substring(0, filename.lastIndexOf('.'));
                        //     var fileresult=dest + folder + filename + '.min.js';
                        //     grunt.log.writeln("现处理文件:"+src+"  处理后文件:"+fileresult);
                        //     return fileresult;
                        //     //return  filename + '.min.js';
                        // }
                    }
                ]
            }
        },
        //watch监听
        watch:{
        build:{
        files:['src/*.js'],
        tasks:['uglify'],
        options:{spawn:false}
        }
        },
        //合并js
     //    concat: {
   //   options: {
   //     separator: ';',
   //   },
   //   dist: {
   //     src: ['lib/jquery/jquery-1.11.3.min.js', 'lib/angular/angular.js'],
   //     dest: 'lib/main.js',
   //   },
   // },
   //合并css
      concat: {
     css:{
            src: ['css/animate.css','css/bootstrap.min.css','css/fileinput.min.css'],
            dest:'css/main.css'
            }
   },
  //  cssmin: { //css文件压缩  
  //   css: {  
  //      src: 'css/main.css',//将之前的main.css  
  //      dest: 'css/main.min.css'  //压缩  
  //    }  
  // }  




    });
    //压缩
    grunt.loadNpmTasks('grunt-contrib-uglify');
    //监听
    grunt.loadNpmTasks('grunt-contrib-watch');
    //打包js
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-css');


    //js打包
    //grunt.registerTask('concatjs',['concat']);
    //css打包
    //grunt.registerTask('css',['concat']);


    //默认任务
    grunt.registerTask('default',['uglify','watch']);
};

0 0
原创粉丝点击