2016-07-30 18 views
0

ich einen Post zurück im Jahr 2012 gefunden, die ähnliche Probleme hat, aber es ruft uglifyjs andersuglifyjs compresseses aber mangle nicht Funktion oder Variablennamen

Uglify-js doesn't mangle variable names

ich eine Windows 7-Umgebung haben, uglifyjs 2 installiert über npm und poste How to install node modules globally?

ich uglify nennen wie folgt:

uglifyjs --compress dead_code=true --mangle --mangle-toplevel -- x.js > x-min.js 

Mein Code knirscht (ab 127 kb zu 55kb) aber wenn ich meinen Code öffne, finde ich Funktions- und Variablennamen sind ursprünglich.

Das Browser-Demo-Tool gibt die gleichen Ergebnisse.

Wer ist zu beraten, wie ich Variable und Funktionsnamen mit oder ohne Uglify verdecken kann?

+2

Was ist mit Funktionsargumenten und internen Variablen? Sind sie minimiert? Uglifying öffentliche Funktionen und Variablennamen verursachen in der Regel Probleme beim Zugriff von anderen Skripten oder HTML. Sie können einige Alternativen auf der Website http://lisperator.net/uglifyjs/ finden. Ich habe wirklich gute Ergebnisse mit jspacker, die auch eine Alternative sein können: http://dean.edwards.name/packer/ – Wolfgang

+0

Dies scheint für Top-Level-Namen relevant sein: http://StackOverflow.com/Questions/10959154/uglify-js-doesnt-mangle-Variablennamen? noredirect = 1 & lq = 1 – Wolfgang

Antwort

3

Sie erwähnen mit UglifyJS2.

Die Option --mangle-toplevel oder -mt kommt von UglifyJS.

Es gibt keine --mangle-toplevel Option in UglifyJS2.

In UglifyJS2, um den Mangel zu aktivieren, müssen Sie die --mangle oder -m Option übergeben. Er akzeptiert die folgenden (durch Kommas getrennt) Optionen:

  • Toplevel
  • eval

Also, in Ihrem Fall, müssen Sie --mangle toplevel verwenden.

+0

Danke ... Ich habe den --mangle-Toplevel entfernt und stattdessen den --mangel-Toplevel benutzt und genau das bekommen, nach dem ich gesucht habe (results in mein Code knirschte weitere 7k bis 48k runter von nicht gemangeltem 55k und nicht komprimiertem 127k). –