Comment utiliser le compilateur Google Closure

J'essaie de migrer du script closingbuilder.py vers le compilateur Closure en raison de ce message:

../../closure-library/closure/bin/build/closurebuilder.py: Closure Compiler now natively understands and orders Closure dependencies and 

Est préférable d'utiliser ce script pour effectuer la compilation JavaScript

Puisque j'utilise Google Closure Library et OpenLayers 3 , comment puis-je appeler le compilateur (compiler.jar) à

  • Créez un fichier de dépendance myapp-deps.js
  • Créez une version minifiée myapp.js qui comprend uniquement les classes OL3 et CL utilisées
  • Construire à la fois avec l'utilisation de fichiers de dépendance pré-calculés de OL3 et CL (par exemple, ol3-deps.js)

Disons en outre que tout se trouve dans la structure suivante. Cela équivaut presque à mon propre projet, mais il est grand et complexe d'être publié ici directement.

 project/ src/ js/ <some other js "required" in myapp.js> myapp.js myapp-deps.js # This should be the dependency file lib/ closure/goog/... third_party/closure/goog/... myapp.js # This should be the minified version ol3/ 

Je suis reconnaissant pour chaque astuce.

Closure Compile peut maintenant gérer les dépendances de fermeture, c'est-à-dire les dépendances définies avec goog.provide et goog.require dans le code JavaScript. Vous n'avez donc plus besoin d'utiliser le script closurebuilder.py . Et c'est pourquoi il est obsolète.

Consultez la page wiki https://github.com/google/closure-compiler/wiki/Manage-Closure-Dependencies pour connaître les options / les drapeaux Compilateur de fermeture fournit pour cela.

En ce qui concerne la génération de fichiers deps , qui peuvent être nécessaires pour charger des fichiers js un par un à des fins de débogage / développement, vous aurez toujours besoin du script depswriter.py Closure Library. Le compilateur de fermeture n'a pas d'outil ou de drapeau pour cela. Lecture https://github.com/google/closure-library/issues/382 depswriter.py n'est plus utilisé dans Google, mais il semble que le script soit toujours maintenu.