1

私を逃れる理由により、uglifyjs は最上位の名前をマングリングしているようには見えません。私は何を間違っていますか?

シンプルな testugly.js は次のようになります。

var testThing={};
testThing.something = 1;
testThing.myfunction = function(alpha,beta,c) {
    var dino = 5;
    if (alpha > 2) {
        dino = 6
    }
    return dino + beta * c 
}

十分に単純です。トップレベルの変数をマングルしようとせずに uglify を実行すると、期待どおりに動作します。

$ uglifyjs --version
uglify-js 2.4.0

$ uglifyjs testugly.js --mangle -c
var testThing={},testThing.something=1,testThing.myfunction=function(t,n,i){var e=5;return t>2&&(e=6),e+n*i};

ここで、最上位の変数もマングルしたいので、 を追加しtoplevel=trueます。

$ uglifyjs testugly.js --mangle toplevel=true -c
var testThing={},testThing.something=1,testThing.myfunction=function(t,n,i){var e=5;return t>2&&(e=6),e+n*i};

それとも、私がそれを間違えたのかもしれません。古いもの-mtも試してみましょう。

$ uglifyjs testugly.js -mt -c
var testThing={},testThing.something=1,testThing.myfunction=function(t,n,i){var e=5;return t>2&&(e=6),e+n*i};

何を与える?testThing「a」か何かであってはいけませんか?

4

1 に答える 1