grunt uglify 不扭曲变量名

grunt uglify not distorting variable names

我正在使用 grunt uglify,它似乎没有处理变量名。我的 "God" 对象被称为 "Porsche" 并且它保持它及其所有函数的可读性,正如您在此处看到的那样:

这是我的 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'
    }
}

我希望它能完全破坏一切,节省函数名称的字节数。我做错了什么吗?

您必须设置 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 以查看另一个示例。

我想通了:

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