我正在使用grunt uglify,它似乎并没有破坏变量名称。我的“上帝”对象被称为“保时捷”,它保留了它,所有它的功能都可读,如你所见:
这是我的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'
}
}
我希望它完全破坏所有内容,在函数名称上保存字节。有什么我做错了吗?
答案 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以查看其他示例。