uglify使用随记

来源:互联网 发布:2016中信证券炒股软件 编辑:程序博客网 时间:2024/05/29 03:35

uglify压缩js代码不仅仅是去除空格和注释,还能混淆

参数

mangle :true/false 是否混淆变量名

sourceMap:true/false 是否生成map文件,map文件的具体用法和作用请参考阮大的文章《Source Map 详解》
传送门→http://www.ruanyifeng.com/blog/2013/01/javascript_source_map.htmlJavaScript

sourceMapName:接受一个字符串参数,可以指定map文件存放的位置以及文件名

drop_console:ture/false 是否去掉console.log()(这个比较6)

beautify:true/false 是否格式化代码,为了方便debug,但是有了sourceMap,这个参数的作用微乎其微,还有一个可选参数width,默认值为80,代表每一行的字符数,可以改动数值,自行体会一下

banner:参数为一个字符串,作为顶部注释一同写入压缩后的文件中

footer:参数为一个字符串,作为底部注视一同写入压缩后的文件中

preserveComments: 参数为字符串 ‘all’/ ‘some’和false all是保留所有注释,some保留部分注释,比如用!标记的注释和类似于@preserve,@aa等类型的注释(官方文档解释) 2.0.0版本只有all和false有作用,还未弄清楚如何使用some

grunt.initConfig({  uglify: {    options: {      mangle: false,  //不混淆变量名      sourceMap: true,  //生成map文件      sourceMapName: 'path/to/sourcemap.map',      compress: {        drop_console: true      },  //去掉所有的console.log()      beautify:{        width: 80,        beautify: true      },  //格式化代码     banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +        '<%= grunt.template.today("yyyy-mm-dd") %> */',  //顶部注释  动态获取package文件中的信息     footer:'\n/*! <%= pkg.name %> 最后修改于: ' +         '<%= grunt.template.today("yyyy-mm-dd") %> */',  //底部注释  动态获取package文件中的信息     preserveComments: 'all'  //保留所有注释    },    my_target: {      files: {        'dest/output.min.js': ['src/input.js']      }    }  }});

Compiling all files in a folder dynamically
操作文件夹下的所有js文件,进行压缩,并按原文件结构放到目标文件夹中

grunt.initConfig({  uglify: {    my_target: {      files: [{          expand: true,          cwd: 'src/js',   //源文件夹          src: '**/*.js',  //需要压缩的源文件          dest: 'dest/js'  //压缩后文件存放的目标文件夹      }]    }  }});

最后附上一篇很棒的传送门→http://www.cnblogs.com/artwl/p/3449303.html

0 0
原创粉丝点击