Closure compiler app using jquery

I have manage to create a small size js application that uses jQuery and jQuery UI using google's closure compiler with advanced optimizations. Just for clarity: I have not compiled jQuery itself, just my app that uses jquery. I would like to know if somebody can confirm that this idea also works for bigger and more complex apps.

The procedure is as follows:

0.- You have an html file that calls jquery-1.4.3.min.js, test1.js, and test2.js

1.- compile your app and export a property map file

java -jar closure-compiler.jar \
       --compilation_level ADVANCED_OPTIMIZATIONS \
       --js test1.js --js test2.js \
       --property_map_output_file prop.out > min.js

The property map is a key/value file that contains the name of the property before and after compilation:

aprop:a
html:b
each:c

2.- Copy prop.out to prop.in and edit it so that jQuery properties (functions) are replaced by the same name (this could be easily automated with a list jquery's function):

aprop:a
html:html
each:each

3.- Recompile using prop in as property map input

java -jar closure-compiler.jar \
       --compilation_level ADVANCED_OPTIMIZATIONS \
       --js test1.js --js test2.js \
       --property_map_input_file prop.in > min.js

4.- Now in your html, include min.js and jquery-1.4.3.min.js. The application should be functional but your code should be faster and smaller.

This will minify your code, not jquery's.

As I said, I have tested this in a small app. If somebody has a bigger and complex app, it would be nice to know that this works.

Thanks,

heg

5
задан jwfearn 9 April 2011 в 17:25
поделиться