web-dev-qa-db-fra.com

Outil pour désagréger / décompresser JavaScript

Existe-t-il des scripts de ligne de commande et/ou des outils en ligne pouvant inverser les effets de la minification, comme le fait Tidy pour nettoyer l'horrible HTML?

(Je cherche spécifiquement à désminifier un fichier JavaScript minifié, le changement de nom de variable peut donc toujours être un problème.)

428
Andy Ford

Vous pouvez utiliser ceci: http://jsbeautifier.org/ Mais cela dépend de la méthode minify que vous utilisez, celle-ci ne fait que formater le code, cela ne change pas les noms de variable, ni ne décompresse l'encodage en base62 .

edit: en fait, il peut décompresser les scripts "emballés" (emballés avec l’emballeur de Dean Edward: http://dean.edwards.name/packer/ )

502
Fabien Ménager

Les outils de développement Chrome ont cette fonctionnalité intégrée. Affichez les outils de développement (en appuyant sur F12, un sens), dans l’onglet Sources, la barre en bas à gauche comporte un ensemble d’icônes. L'icône "{}" est "Jolie impression" et effectue cette conversion à la demande.

MISE À JOUR: IE9 "Outils de développement F12" a également une fonctionnalité "Formater JavaScript" dans l'onglet Script sous l'icône Outils. ( voir Astuce n ° 4 dans F12 Le secret de débogage Web le mieux gardé )

enter image description here

151
Jon Adams

Je l'ai! JSBeautifier fait exactement cela, et vous avez même des options pour le formatage automatique.

56
Robinicks

Ne pouvez-vous pas simplement utiliser un formateur javascript ( http://javascript.about.com/library/blformat.htm )?

16
Janco

Dans Firefox, SpiderMonkey et Rhino, vous pouvez intégrer n'importe quel code dans une fonction anonyme et appeler sa méthode toSource , ce qui vous donnera une source bien formatée de la fonction.

toSource supprime également les commentaires.

E. g. :

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

Sera converti en chaîne:

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

P. S. : Ce n'est pas un "outil en ligne", mais toutes les questions concernant les techniques générales d'embellissement sont traitées comme des doublons de celui-ci.

14
katspaugh

Si vous avez un Mac et TextMate - Une alternative simple au formatage Javascript est:

  1. Ouvrez le fichier avec Textmate.
  2. Cliquez sur> Bundles> JavaScript> Reformat Document
  3. Ouvre une bière.
10
Stone

La plupart des IDE offrent également des fonctionnalités de formatage automatique. Par exemple dans NetBeans, appuyez simplement sur CTRL + K.

6
gou1

cliquez sur ce lien pour la déminification de JS. Cela s’installera sur FF en tant qu’extension qui vous aidera à déboguer js au moment de l’exécution.

https://addons.mozilla.org/en-US/firefox/addon/javascript-deminifier/eula/141018?src=dp-btn-primary

5
sanjeev

Similaire à la réponse de Stone , mais pour les développeurs Windows/.NET:

Si vous avez Visual Studio et ReSharper - Une alternative simple au formatage de Javascript est:

  • Ouvrez le fichier avec Visual Studio.
  • Cliquez sur ReSharper> Outils> Code de nettoyage (Ctrl + E, C);
  • Sélectionnez "Par défaut: Code de reformatage", puis cliquez sur OK.
  • Ouvre une bière.
5
Caio Proiete

Comme alternative (puisque je ne connaissais pas jsbeautifier.org jusqu'à présent), j'ai utilisé un bookmarklet qui a réactivé le bouton de décodage dans Dean Edward's Packer.

J'ai trouvé les instructions et bookmarklet ici .

voici le bookmarklet (au cas où le site serait en panne)

javascript:for%20(i=0;i<document.forms.length;++i)%20{for(j=0;j<document.forms[i].elements.length;++j){document.forms[i].elements[j].removeAttribute(%22readonly%22);document.forms[i].elements[j].removeAttribute(%22disabled%22);}}
5
Mottie

Je ne sais pas si vous avez besoin de code source. Il existe un outil de formatage JavaScript en ligne gratuit à l’adresse http://www.blackbeltcoder.com/Resources/JSFormatter.aspx .

5
Jonathan Wood

Essayez celui-ci, avec la coloration du code:

http://labs.swelen.com/tools/javascript/beauty.html

5
Swelen Team

En dépit de son interface très éloignée de toutes les beautés, JSPretty est un bon outil gratuit et en ligne permettant de rendre lisibles les codes sources JavaScript. Vous pouvez appliquer le type d'indentation que vous préférez et également détecter l'obscurcissement.

4
Farshid

Pretty Diff embellira (jolie impression) le JavaScript de manière conforme à JSLint et - JSHint algorithmes d'espaces blancs.

3
austincheney

Si on est en JS, la possibilité d'utiliser Firefox est plus. Et si son add-on Firefox est au secours. En suivre un est particulièrement utile.

https://addons.mozilla.org/en-US/firefox/addon/phoenix/

3
Anil Namde

N’étais pas vraiment satisfait de la sortie de jsbeautifier.org pour ce que j’écrivais, j’ai donc cherché un peu plus et trouvé ce site: http://www.centralinternet.com.br/javascript-beautifier

A très bien fonctionné pour moi.

3
Doyle Lewis

http://unminify.appspot.com/ Excellents outils pour unminifier javascript et json

2
Bui Dinh Ngoc