【配置模板】grunt配置

uglify 模板(包含变量混淆设置,注释保留设置,输出压缩信息设置,批量压缩设置(按原文件结构压缩 or 合并压缩)json

module.exports = function(grunt) {
	grunt.initConfig({
		pkg: grunt.file.readJSON('package.json'),  //grunt参考的package.json配置文件的路径

		uglify: { //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: {//任务四:合并压缩js文件
                files: {
                    'output/game.min.js': ['js/*.js']
                }
            }
        }
	});

	grunt.loadNpmTasks('grunt-contrib-uglify');  //加载grunt-contrib-uglify模块
	grunt.registerTask('default',[ 'uglify:release']);  //执行uglify

}

该模板参考自 做者:Artwl 出处:http://artwl.cnblogs.comgrunt

=========================ui

相关文章
相关标签/搜索