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