437 Stimmen

Werkzeug zum Entschachteln / Dekomprimieren von JavaScript

Gibt es Befehlszeilenskripte und/oder Online-Tools, die die Auswirkungen der Minifizierung rückgängig machen können, ähnlich wie Tidy grauenhaftes HTML bereinigen kann?

(Ich bin speziell auf der Suche nach unminify eine minified JavaScript-Datei, so Variable Umbenennung könnte noch ein Problem sein).

510voto

Fabien Ménager Punkte 139981

Sie können dies verwenden: http://jsbeautifier.org/ Aber es hängt von der Minify-Methode ab, die Sie verwenden. Diese Methode formatiert nur den Code, sie ändert weder die Variablennamen, noch dekomprimiert sie die Base62-Kodierung.

edit: tatsächlich kann es "gepackte" Skripte entpacken (gepackt mit Dean Edwards Packer : http://dean.edwards.name/packer/ )

161voto

Jon Adams Punkte 23566

Die Chrome-Entwicklertools haben diese Funktion integriert. Rufen Sie die Entwicklertools auf (z. B. durch Drücken von F12). Auf der Registerkarte "Quellen" finden Sie in der unteren linken Leiste eine Reihe von Symbolen. Das "{}"-Symbol ist "Pretty print" und führt diese Konvertierung bei Bedarf durch.

UPDATE: IE9 "F12-Entwicklertools" hat auch eine "Format JavaScript"-Funktion in der Registerkarte "Skript" unter dem Symbol "Tools" dort. ( siehe Tipp #4 in F12 Das bestgehütete Geheimnis der Web-Fehlersuche )

enter image description here

58voto

Robin Rodricks Punkte 104651

Ich hab's! JSBeautifier macht genau das, und Sie haben sogar Optionen für die automatische Formatierung.

16voto

Janco Punkte 1130

Können Sie nicht einfach einen Javascript-Formatierer verwenden ( http://javascript.about.com/library/blformat.htm ) ?

14voto

katspaugh Punkte 16624

In Firefox, SpiderMonkey und Rhino können Sie jeden Code in eine anonyme Funktion verpacken und deren toSource Methode, die Ihnen einen schön formatierten Quelltext der Funktion liefert.

toSource streift auch Kommentare.

Z. B.. :

(function () { /* Say hello. */ var x = 'Hello!'; print(x); }).toSource()

wird in eine Zeichenkette umgewandelt:

function () {
    var x = "Hello!";
    print(x);
}

P. S. : Es handelt sich nicht um ein "Online-Tool", aber alle Fragen zu allgemeinen Verschönerungstechniken werden als Duplikate dieser Frage geschlossen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X