with uglify minifier minificar kangax google javascript compiler-construction minify

uglify - Mejor javascript compilador/minifier



uglify minify (4)

Recuerdo haber visto un nuevo compilador / minificador de javascript en github que incluso debería ser mejor que el compilador de cierre de google. Desafortunadamente no puedo recordar su nombre y volver a encontrarlo. Tal vez alguien me pueda ayudar? :)

Gracias, Corin


Consulte las estadísticas src: http://axod.blogspot.ca/2010/01/google-closure-compiler-advanced-mode.html

comparar JSMin, por Douglas Crockford y 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%

El cierre lleva la idea de un minificador de Javascript un paso más allá. Hace esto haciendo una compilación real para eliminar el código que no se usa, las variables en línea y reescribe el código para hacerlo lo más pequeño posible.

Solo como referencia, puede acceder a la interfaz de usuario del compilador de cierres de Google aquí http://closure-compiler.appspot.com/home


El modo AVANZADO de AFAIK Closure Compiler es el único juego en la ciudad si desea eliminar el código muerto global (también conocido como tree shaking) y la optimización. Es por eso que los proyectos como emscripten y ClojureScript, y el traductor de Dart javascript lo usan.


Esta es una pregunta antigua, pero encontré información nueva y quería compartirla. Encontré un minificador especializado en GitHub llamado RegPack, https://github.com/Siorki/RegPack . Digo especializado porque está pensado para optimizar archivos pequeños (1KB-4KB) y funciona con Canvas, WebGL y componentes de audio en JavaScript. Los resultados son bastante asombrosos, pero también específicos para el tipo de JavaScript que estás escribiendo.

Habiendo notado eso, acabo de ejecutar Closure Compiler en modo estándar contra una biblioteca que escribí, https://github.com/robertdmunn/gadget-ui , para comparar el resultado con UglifyJS, que estoy usando a través de Grunt. El código base es 20 KB, Uglifier y Closure Compiler (modo estándar), ambos lo hicieron 10 KB. Para la mayoría de los casos de uso, veo que es lo suficientemente bueno. El modo avanzado de cierre solo lo redujo a 9KB. Para casos de borde - escala web - 10% más pequeño es decente. Considere, sin embargo, que la compresión gzip reducirá el tamaño del archivo en un 60-80% en mi experiencia, por lo que la reducción del 10% con el modo avanzado solo le ahorra un 2-4% por encima del modo estándar si usa gzip. El 2-4% es valioso a escala web, pero para la mayoría de los desarrolladores, puede que no valga la pena los posibles problemas que se presentan.