grunt压缩js多个任务的样板

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值