grunt学习入门之一uglify

grunt是前端一个跟很好用的代码管理工具
推荐github: http://blog.csdn.net/ligang2585116/article/details/53790043
如果你懂webpack的话,我个人觉得还是没有grunt好用一点,具体好处,各位看官可以自己去测试,我就不乱水了

言归正传 uglify是grunt的插件之一 代码压缩的

1.安装好node.js
2.安装grunt 命令是npm install grunt -g
3.安装grunt-cli 命令是npm install grunt-cli -g
4.新建项目文件夹 文件夹里面包含js文件夹 css文件夹 build文件夹 Gruntfile.js文件
5.转到项目文件夹安装依赖 npm install grunt –save-dev npm install grunt-contrib-uglify –save-dev
6.在项目文件夹下 输入npm init 生成package.json说明文档
7.以上步骤执行完之后。我们来填写Gruntfile.js文件配置

我们先来搭建大框架

module.exports = function  (grunt){
grunt.initConfig({
//获取package.json数据存储到pkg当中
pkg:grunt.file.readJSON('package.json'),
 //引入插件
    grunt.loadNpmTasks('grunt-contrib-uglify') ,
    //创建默认任务
     grunt.registerTask('default',[]);  
})
}

执行时直接输入 grunt 或者grunt default即可

由于时间原因,直接上配置代码。忘了说了,在你的js文件夹里面先建立a.js和b.js文件用于测试 文件里面写一段符合js语法的代码

module.exports = function(grunt){  

    grunt.initConfig({  
        pkg: grunt.file.readJSON('package.json'),  
        //这里要写之后的任务  

        uglify:{
            options: {
                banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'//添加banner
            },
            builda: {//任务一:压缩a.js,不混淆变量名,保留注释,添加banner和footer
                options: {
                    mangle: false, //不混淆变量名
                    preserveComments: 'all', //不删除注释,还可以为 false(删除全部注释),some(保留@preserve @license @cc_on等注释)
                    footer:'\n/*! <%= pkg.name %> 最后修改于: <%= grunt.template.today("yyyy-mm-dd") %> */'//添加footer
                },
                files: {
                    'output/js/a.min.js': ['js/a.js']
                }
            },
            buildb:{//任务二:压缩b.js,输出压缩信息
                options: {
                    report: "min"//输出压缩率,可选的值有 false(不输出信息),gzip
                },
                files: {
                    'output/js/b.min.js': ['js/main/b.js']
                }
            },
            buildall: {//任务三:按原文件结构压缩js文件夹内所有JS文件
                files: [{
                    expand:true,
                    cwd:'js',//js目录下
                    src:'**/*.js',//所有js文件
                    dest: 'output/js'//输出到此目录下
                }]
            },
            release: {//任务四:合并压缩a.js和b.js
                files: {
                    'output/js/index.min.js': ['js/a.js', 'js/main/b.js']
                }
            }
          }

    });  

    //引入插件
    grunt.loadNpmTasks('grunt-contrib-uglify') 

    //default任务,即默认任务,执行命令为grunt或grunt default  
    grunt.registerTask('default',['uglify:release']);  
    grunt.registerTask('task2',['uglify:buildall'])

    //两个任务名字不同可同时存在,执行时只要输入grunt+名字即可,如下:grunt start  
    grunt.registerTask('start',['connect','watch:start']); 
}; 

如此。你便可以将a和b打包压缩了。挺快。对开发有了巨大的好处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值