【配置模板】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

相關文章
相關標籤/搜索