grunt压缩js多个任务的样板

来源:互联网 发布:上海交大软件学院 编辑:程序博客网 时间:2024/05/16 03:08
module.exports = function (grunt) {    //var fs = require('fs');    //var localPath = fs.realpathSync('.');    grunt.log.writeln("==========================");    grunt.log.writeln("==========================");    grunt.log.writeln("grunt自动脚本开始运行......");    grunt.log.writeln("==========================");    grunt.log.writeln("==========================");    grunt.log.writeln("====请稍后,先观赏神兽====");    grunt.log.writeln(" ");    grunt.log.writeln(" ");    grunt.log.writeln(" ");    grunt.log.writeln("上帝的骑宠,上古时期世界的霸主。");    grunt.log.writeln("┏┛┻━━━┛┻┓");    grunt.log.writeln("┃|||||||┃");    grunt.log.writeln("┃   ━   ┃");    grunt.log.writeln("┃ ┳┛  ┗┳  ┃");    grunt.log.writeln("┃       ┃");    grunt.log.writeln("┃   ┻   ┃");    grunt.log.writeln("┃       ┃");    grunt.log.writeln("┗━┓   ┏━┛");    grunt.log.writeln("  ┃ 史 ┃  ");    grunt.log.writeln("  ┃ 诗 ┃  ");    grunt.log.writeln("  ┃ 之 ┃  ");    grunt.log.writeln("  ┃ 宠 ┃");    grunt.log.writeln("  ┃   ┗━━━┓");    grunt.log.writeln("  ┃经验与我同在 ┣┓");    grunt.log.writeln("  ┃攻楼专用宠物 ┃");    grunt.log.writeln("  ┗┓┓┏━┳┓┏┛");    grunt.log.writeln("   ┃┫┫ ┃┫┫");    grunt.log.writeln("   ┗┻┛ ┗┻┛");    grunt.log.writeln(" ");    grunt.log.writeln(" ");    grunt.log.writeln(" ");    grunt.log.writeln("任务执行详情:");    grunt.log.writeln("");    // 项目配置    grunt.initConfig({        pkg: grunt.file.readJSON('package.json'),        //前台业务逻辑         uglify2:{             options: {                 banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'             },             //添加文字到压缩后的文件尾部            // footer:'/*! 这是压缩文件尾部 */',             //美化代码             beautify: {                 //中文ascii化,非常有用!防止中文乱码的神配置                 ascii_only: true             },             /*              build: {              src: 'public/module/p.fortest.js',              dest: 'public/module/p.fortest.min.js'              } */             minjs: { //最小化、混淆所有 js/ 目录下的 JavaScript 文件                 files: [{                     expand: true,                     cwd: 'static/module/',                     src: ['**/*.js', '!**/*.min.js'],                     dest: 'static/module/'                     //,ext: '.min.js'                     ,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';                     }                 }]             }         }        ,uglify: {            front:{                options: {                    banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'                },                //添加文字到压缩后的文件尾部                footer:'/*! 这是压缩文件尾部 */',                //美化代码                beautify: {                    //中文ascii化,非常有用!防止中文乱码的神配置                    ascii_only: true                },                /*                 build: {                 src: 'public/module/p.fortest.js',                 dest: 'public/module/p.fortest.min.js'                 } */                files: [{                    expand: true,                    cwd: 'public/module/',                    src: ['*.js', '!*.min.js'],                    dest: 'public/module/'                    // ,ext: '.min.js'                    ,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';                    }                }]            }            ,backend:{                options: {                    banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'                },                //添加文字到压缩后的文件尾部                footer:'/*! 这是压缩文件尾部 */',                //美化代码                beautify: {                    //中文ascii化,非常有用!防止中文乱码的神配置                    ascii_only: true                },                /*                 build: {                 src: 'public/module/p.fortest.js',                 dest: 'public/module/p.fortest.min.js'                 } */                files: [{                    expand: true,                    cwd: 'static/module/',                    src: ['**/*.js', '!**/*.min.js'],                    dest: 'static/module/'                    //,ext: '.min.js'                    ,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';                    }                }]            }        }    });    // 加载提供"uglify"任务的插件    grunt.loadNpmTasks('grunt-contrib-uglify');    // 默认任务  //  grunt.registerTask('default', ['uglify']);   // grunt.registerMultiTask('log', 'Log stuff.', function() {grunt.log.writeln("开始执行任务。");});   // grunt.registerMultiTask('default', ['uglify']);    grunt.registerTask('default','',function(){            grunt.log.writeln('前台js压缩');            grunt.task.run('uglify:front');            grunt.log.writeln('后台js压缩');            grunt.task.run('uglify:backend');    });   // grunt.registerMultiTask('default2', ['uglify']);  //  grunt.registerMultiTask('log', 'Log stuff.', function() {grunt.log.writeln("任务执行完毕");});}

0 0
原创粉丝点击