web-dev-qa-db-fra.com

Meilleur compilateur / miniérier JavaScript

Je me souviens d'avoir vu un nouveau compilateur/mini-cadeau JavaScript sur GitHub qui devrait même être meilleur que le compilateur de fermeture de Google. Malheureusement, je ne me souviens pas de son nom et de le retrouver. Peut-être quelqu'un peut me aider? :)

Merci, corin

33
gucki

Éventuellement glifyjs ? C'est le mineur que le projet JQuery utilise actuellement.

Découvrez ceci comparaisons de vitesse .

32
Bryan Downing

Voir les statistiques src: http://axod.blogspot.ca/2010/01/google-closure-compiler-advanced-mode.html

comparez JSmin, par Douglas Crockford et Yahoo! Yui

Minifier           | Bytes   |% of original| gz Bytes | gz % original
None               | 428,264 |    100%     |   91,750 |     100%
JSMin              | 249,372 |     58%     |   57,338 |     62%
YUI                | 235,214 |     55%     |   55,990 |     61%
Closure (STANDARD) | 219,446 |     51%     |   53,515 |     58%
Closure (ADVANCED) | 166,774 |     39%     |   47,372 |     52%

La fermeture prend l'idée d'un mini-mineur JavaScript un pas plus loin. Elle le fait en faisant la compilation réelle pour supprimer le code utilisé, les variables inline et réécrit le code pour le rendre aussi petite que possible.

Juste pour référence, vous pouvez accéder à l'interface utilisateur Google Fermeture Compiler ici http://closure-compiler.appot.com/home

16
Samuel

Le mode avancé d'Afaik Fermeture Compiler est le seul jeu de la ville si vous souhaitez suppression globale du code mort (AKA Tree Shaking) et optimisation. C'est pourquoi des projets tels que EMSCRIPTEN et CLOJURSSRICT, et DART JavaScript Traducteur l'utilisent.

12
John

C'est une question ancienne, mais je suis tombé sur de nouvelles informations et je voulais partager. J'ai trouvé un meneur spécialisé sur GitHub appelé Regpack, https://github.com/siani/regpack . Je dis spécialisé car il est destiné à optimiser les petits fichiers (1KB-4KB) et fonctionne avec des composants en toile, WebGL et audio dans JavaScript. Les résultats sont assez étonnants mais aussi spécifiques au type de JavaScript que vous écrivez.

Ayant noté que, je viens de courir le compilateur de fermeture en mode standard contre une bibliothèque que j'ai écrite, https://github.com/robertdmunn/gadget-ui , pour comparer la sortie avec UGLIFYJS, que j'utilise par grunt. Le code de base est un compilateur de 20 kb, un uglificateur et une fermeture (mode STD) les deux le rendit à 10 kb. Pour la plupart des cas d'utilisation, je vois cela aussi bon. Le mode avancé de fermeture ne l'a réduit que à 9kb. Pour les cas de bord - Balance Web - 10% plus petit est décent. Envisagez cependant que la compression GZIP réduira la taille du fichier de 60 à 80% de mon expérience, la réduction de 10% à l'aide du mode avancé ne vous enregistre que 2 à 4% au-dessus du mode standard si vous utilisez Gzip. 2-4% est précieux à l'échelle Web, mais pour la plupart des développeurs, cela ne vaut peut-être pas la peine de présenter les problèmes potentiels introduits.

0
Robert Munn