javascript - gratis - minificar
¿Debo utilizar el compresor YUI o el nuevo compilador de cierre de Google para comprimir mi JavaScript? (7)
"Lo que encuentre mejor para usted", creo que es la respuesta general en este momento. YUI ha estado disponible por más tiempo, por lo que, sin duda, será la que actualmente tenga el consenso como la mejor herramienta. Considerando que Closure es nuevo para nosotros, por lo que no existe la gran experiencia con Closure como con YUI. Por lo tanto, no creo que encuentres argumentos convincentes en el mundo real de por qué usar Closure en función de las experiencias de las personas simplemente porque es nuevo.
Eso no quiere decir que no debas usar Closure ... solo es mi forma de decirlo, no creo que haya una respuesta disponible hasta que varias personas hayan usado los 2 y los hayan comparado.
Edit: Hay un par de comparaciones tempranas que dicen que Closure da una mejora: http://blog.feedly.com/2009/11/06/google-closure-vs-yui-min/
http://news.ycombinator.com/item?id=924426
Edición adicional: vale la pena vigilar la lista de problemas para el cierre: http://code.google.com/p/closure-compiler/issues/list
YUI Compressor fue la mejor herramienta de consenso para minimizar, pero el cierre parece que podría ser mejor.
A partir de octubre de 2012, parece que el compresor YUI ahora está en desuso, o al menos ya no se utilizará en YUI: http://www.yuiblog.com/blog/2012/10/16/state-of-yui-compressor/
Creo que depende de tu código. Si desea compilar su propio código, entonces creo que vale la pena parchearlo para que funcione con Closure Compiler (algunas cosas pueden parecer un poco incómodas al principio). Creo que Closure Compiler pronto será la mejor opción para tales trabajos y también te hará ordenar un poco tu código y mantener un estilo consistente (por supuesto, depende de tus preferencias, es posible que odies algunas partes, yo: P) .
Si depende de otras bibliotecas, en mi opinión, debería esperar un poco hasta que publiquen las versiones compatibles de Closure Compiler . No debería tomar mucho tiempo para las bibliotecas más populares que hay. Y tal vez pueda proporcionar correcciones para esas bibliotecas "no tan activas" que usted usa.
Estoy hablando del modo de compilación avanzada aquí, el modo de compilación simple como algunos han señalado es bastante seguro de usar.
Y aquí hay una opinión diferente: ¿ Google Closure? No estoy impresionado . Tal vez es un poco demasiado duro, pero agradable leer. Supongo que solo el tiempo dirá cuál es mejor =)
El cierre se puede utilizar en el modo Simple o en el modo Avanzado. El modo simple es bastante seguro para la mayoría de los códigos JavaScript, ya que solo cambia el nombre de las variables locales en las funciones para obtener mayor compresión.
El modo avanzado es mucho más agresivo. Cambiará el nombre de las teclas en literales de objetos y llamadas a funciones en línea si puede determinar que devuelven valores simples sin efectos secundarios.
Por ejemplo:
function Foo()
{
return "hello";
}
alert(Foo());
se traduce a
alert("hello");
Y este código:
var o = {First: "Mike", Last: "Koss"};
alert(o);
se traduce a
alert({a:"Mike",b:"Koss"});
Puede evitar que el modo Avanzado cambie los valores clave en los literales de los objetos citando nombres como este:
{''First'': "Mike", ''Last'': "Koss"}
Puede probar estos y otros ejemplos en el sitio interactivo del compilador de cierres de Google.
Parece que jQuery 1.5 acaba de mudarse a UglifyJS :
Además, con este cambio, hemos pasado a utilizar UglifyJS desde el compilador de cierre de Google. Hemos visto algunas mejoras sólidas en el tamaño del archivo mientras lo usamos, por lo que estamos muy satisfechos con el cambio.
Por las comparaciones que he visto, Closure parece ser el claro ganador en términos de minimizar el tamaño del archivo. Este artículo utiliza tres bibliotecas JS populares (jQuery, Prototype, MooTools) para comparar la compresión entre YUI Compressor y Closure Compiler: http://www.bloggingdeveloper.com/post/Closure-Compiler-vs-YUI-Compressor-Comparing-the-Javascript-Compression-Tools.aspx
El cierre sale al frente en cada prueba, particularmente en su modo avanzado, donde "minimiza el tamaño del código en un 20-25% más que el compresor YUI al proporcionar una compresión de casi el 60%".
Puede realizar algunas pruebas aquí y ver qué es mejor en cada navegador: http://jsperf.com/closure-vs-yui