grunt uglify不会扭曲变量名称

时间:2015-03-17 09:58:46

标签: gruntjs uglifyjs grunt-contrib-uglify

我正在使用grunt uglify,它似乎并没有破坏变量名称。我的“上帝”对象被称为“保时捷”,它保留了它,所有它的功能都可读,如你所见:

enter image description here

这是我的Gruntfile配置:

uglify: {
    options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
        mangle: {
            except: ['jQuery', 'jquery']
        }
    },
    build: {
        src: [ 
            'assets/js/**/*.js'
        ],
        dest: 'assets/js/prod/all.min.js'
    }
}

我希望它完全破坏所有内容,在函数名称上保存字节。有什么我做错了吗?

2 个答案:

答案 0 :(得分:4)

我已经弄明白了:

uglify: {
    options: {                  
        mangle: {
            toplevel: true
       }
    }
}

答案 1 :(得分:1)

您必须设置mangle: false以防止更改变量和函数名称:

uglify: {
    options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
        mangle: false
    },
    build: {
        src: [ 
            'assets/js/**/*.js'
        ],
        dest: 'assets/js/prod/all.min.js'
    }
}

检查documentation以查看其他示例。