YUI Compressor fue la mejor herramienta de consenso para minimizar, pero Closure parece que podría ser mejor.¿Debo usar el compresor YUI o el nuevo compilador Google Closure para comprimir mi JavaScript?
Respuesta
"Lo que sea mejor para usted" Creo que es la respuesta general en este momento - YUI ha estado disponible por más tiempo, sin duda será el que actualmente tiene el consenso como la mejor herramienta. Mientras que Closure es nuevo para nosotros, entonces no hay tanta experiencia con Closure como con YUI. Por lo tanto, no creo que encuentre argumentos convincentes en el mundo real sobre por qué usar Closure basado en las experiencias de las personas simplemente porque es nuevo.
Eso no quiere decir que no deba usar Closure .... solo mi ronda sobre la forma de decir, no creo que haya una respuesta disponible hasta que un número de personas haya usado los 2 y los haya comparado.
Editar: Hay un par de comparaciones tempranas, diciendo Cierre da una mejora: http://blog.feedly.com/2009/11/06/google-closure-vs-yui-min/
http://news.ycombinator.com/item?id=924426
Además Editar: vale la pena mantener un ojo en la lista de tema para el cierre: http://code.google.com/p/closure-compiler/issues/list
El cierre se puede usar en el modo Simple o en el modo Avanzado. El modo simple es bastante seguro para la mayoría del código JavaScript, ya que solo cambia el nombre de las variables locales en funciones para obtener una mayor compresión.
El modo avanzado es mucho más agresivo. Cambiará el nombre de las claves en literales de objeto y llamadas de función en línea si puede determinar si 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 de cambio de valores clave en objetos literales citando los nombres como esto:
{'First': "Mike", 'Last': "Koss"}
Puede probar estos y otros ejemplos en Google de Closure Compiler site interactiva.
Creo que depende de su código. Si desea compilar su propio código, entonces creo que vale la pena parchar el código para que funcione con Closure Compiler (algunas cosas pueden parecer un poco incómodas al principio). Creo que el Closure Compiler pronto será la mejor opción para esos trabajos y también hará que arregles un poco tu código y mantengas un estilo consistente (por supuesto depende de tus preferencias, es posible que odies algunas partes, lo hago: PAG).
Si depende de otras bibliotecas, en mi opinión, debería esperar un poco hasta que se publiquen las versiones compatibles Closure Compiler. No debería tomar mucho tiempo para la mayoría de las bibliotecas populares que existen.Y tal vez pueda proporcionar soluciones para las bibliotecas "no tan activas" que usa usted mismo.
Estoy hablando de avanzada Compilación modo que aquí, la simple recopilación el modo como algunos han señalado es bastante seguro de usar.
Y aquí hay una opinión diferente - Google Closure ? I'm Not Impressed. Es tal vez un poco demasiado duro, pero agradable de leer. Supongo que solo el tiempo dirá cuál es mejor =)
porque no te permite salirte con 'eval()'? – rxgx
De las comparaciones que he visto, el cierre 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 compresión entre Closure Compiler YUI Compresor y: http://www.bloggingdeveloper.com/post/Closure-Compiler-vs-YUI-Compressor-Comparing-the-Javascript-Compression-Tools.aspx
Cierre salga delante de cada prueba, sobre todo en su modo avanzado, donde se "minimiza código tamaño alrededor de 20-25% más que el compresor YUI al proporcionar casi 60% de compresión ".
Gracias por el enlace. –
Parece que jQuery 1.5 acaba de mudar a UglifyJS:
Además, con este interruptor hemos comenzaron a utilizar UglifyJS de la Google Closure Compiler. Hemos visto algunas mejoras de tamaño de archivo sólido mientras lo usamos, así que estamos bastante contentos con el interruptor.
Gracias por publicar eso. ¡Ni siquiera había oído hablar de eso! – Sonny
Es más rápido y comprime más que YUI, y seguro que es mejor tener que instalar Java para Closure Compiler. – rxgx
Ya no es cierto: http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_compress_my_code.3F – SeanDowney
Usted puede hacer algunas pruebas aquí, y ver lo que es mejor en cada navegador: http://jsperf.com/closure-vs-yui
a partir de octubre de 2012, se ve como YUI compresor ahora es obsoleto, o al menos ya no va a ser utilizado en YUI: http://www.yuiblog.com/blog/2012/10/16/state-of-yui-compressor/
Compresor YUI aún se está desarrollando (última versión de mayo de 2013): http: //www.yuiblog.com/blog/2013/05/16/yuicompressor-2-4-8-released/https://github.com/yui/yuicompressor – benebun
- 1. Compresor YUI y contenido CSS?
- 2. Compresor YUI y aplicaciones .NET
- 3. Compresor YUI y TFS compilación
- 4. Compresor YUI en el directorio completo - os x
- 5. ¿Cómo uso el compilador de Google Closure para eliminar el código JavaScript no utilizado?
- 6. Rails 3.2 y Yui compresor
- 7. ¿Cómo aplicar Google Closure a toda mi página web?
- 8. Cómo usar el cierre de Google para compilar JavaScript
- 9. Compresor YUI y sugerencia de "uso estricto"
- 10. ¿El compresor YUI admite la agrupación de varios archivos?
- 11. ¿Debo usar getHours() o getUTCHours para mi Javascript?
- 12. ¿Debo usar Google Web Toolkit para mi nueva aplicación web?
- 13. LINQ, ¿DEBO UNIRSE o usar el anidado SELECCIONAR NUEVO?
- 14. ¿Qué debo elegir? jquery, mootools, yui, scriptaculous o prototipo?
- 15. YUI remove javascript comments
- 16. Google Closure XhrIo
- 17. yui compresor maven plugin no comprime los archivos js
- 18. ¿YUI o no a YUI?
- 19. Google Closure Editor/WYSIWYG
- 20. Diciendo al compresor YUI que elimine el código no comentado específico
- 21. Compresor Assetic + YUI en Symfony 2: ¿es esto un error?
- 22. ¿Es posible hacer que el compilador de Google Closure * no * incorpore ciertas funciones?
- 23. ¿Comprimir múltiples archivos JavaScript con YUIcompressor?
- 24. ¿Alguna idea sobre cómo usar el compilador de cierres de Google para combinar múltiples archivos javascript sin optimizaciones?
- 25. ¿Debo usar solo un nuevo servicio() o más?
- 26. Crear eventos con google closure
- 27. Seleccione "Android X.X" o "Google APIs" en el nuevo proyecto
- 28. Javascript con el nuevo o no
- 29. Cómo usar language_in o jscomp_off con Google Closure Compiler Service API
- 30. Cómo usar YUI
+1 por decirme acerca de Google Closure, que nunca escuché :) –
También agregaré que hay un empacador poco conocido aquí: http://dean.edwards.name/packer esto es Hasta donde yo sé, el que da los mejores resultados pero necesita agregar todos los puntos y comas implícitos, use JSlint para ese –
packer ha caído en desgracia debido a que necesita descomprimir en cada ejecución. – Nosredna