He logrado crear una aplicación js de pequeño tamaño que utiliza jQuery y jQuery UI utilizando el compilador de cierre de Google con optimizaciones avanzadas. Solo por claridad: no he compilado jQuery, solo mi aplicación que usa jquery. Me gustaría saber si alguien puede confirmar que esta idea también funciona para aplicaciones más grandes y complejas.Aplicación de compilador de cierre utilizando jquery
El procedimiento es el siguiente:
0.- Tiene un archivo HTML que llama jquery-1.4.3.min.js, test1.js y test2.js
1.- compilación su aplicación y exportar un archivo de mapa de la propiedad
java -jar closure-compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js test1.js --js test2.js \
--property_map_output_file prop.out > min.js
el mapa de la propiedad es un archivo de clave/valor que contiene el nombre de la propiedad antes y después de la compilación:
aprop:a
html:b
each:c
2.- Copia prop.out a prop.in y editarlo de modo que las propiedades de jQuery (funciones) se sustituyen por el mismo nombre (esto podría ser fácilmente automatizado con la función de una lista de jQuery):
aprop:a
html:html
each:each
3.- Recompile utilizando prop en el mapa como propiedad de entrada
java -jar closure-compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js test1.js --js test2.js \
--property_map_input_file prop.in > min.js
4.- Ahora en su html, incluir min.js y jquery-1.4.3.min.js. La aplicación debe ser funcional, pero su código debe ser más rápido y más pequeño.
Esto miniaturizará su código, no el de jquery.
Como dije, he probado esto en una aplicación pequeña. Si alguien tiene una aplicación más grande y compleja, sería bueno saber que esto funciona.
Gracias,
HEG
He intentado utilizar externos (con el jquery js normal) sin éxito. No tenía conocimiento de "Externs for jQuery". Parece prometedor, pero igual tendré que hacer algo con jQuery UI. ¡Gracias por la información sobre plovr! – Hernan