J'ai réussi à créer une application js de petite taille qui utilise jQuery et jQuery UI en utilisant le compilateur de fermeture de google avec des optimisations avancées. Juste pour la clarté: je n'ai pas compilé jQuery lui-même, juste mon application qui utilise jquery. Je voudrais savoir si quelqu'un peut confirmer que cette idée fonctionne aussi pour des applications plus grandes et plus complexes.Application de compilateur de fermeture utilisant jquery
La procédure est la suivante:
0.- Vous avez un fichier HTML qui appelle jquery-1.4.3.min.js, test1.js et test2.js
1.- compilation votre application et exporter un fichier carte de la propriété
java -jar closure-compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js test1.js --js test2.js \
--property_map_output_file prop.out > min.js
la carte de propriété est un fichier clé/valeur qui contient le nom de la propriété avant et après la compilation:
aprop:a
html:b
each:c
Copie prop.out à 2.- prop.in et le modifier de sorte que les propriétés jQuery (fonctions) sont remplacés par le même nom (ce qui pourrait être facilement automatisé avec la fonction d'une liste jquery):
aprop:a
html:html
each:each
3.- recompiler en utilisant la prop en entrée comme carte de propriété
java -jar closure-compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js test1.js --js test2.js \
--property_map_input_file prop.in > min.js
4.- maintenant dans votre html, inclure min.js et jquery-1.4.3.min.js. L'application devrait être fonctionnelle mais votre code devrait être plus rapide et plus petit.
Ceci minimisera votre code, pas celui de jquery.
Comme je l'ai dit, j'ai testé cela dans une petite application. Si quelqu'un a une application plus grande et plus complexe, il serait bon de savoir que cela fonctionne.
Merci,
HEG
J'ai essayé d'utiliser des externes (avec le jquery js normal) sans succès. Je n'étais pas au courant de "Externs for jQuery". Ca promet mais je vais quand même avoir besoin de faire quelque chose avec jQuery UI. Merci pour l'info sur plovr! – Hernan