Comment désactiver la minification des modules Javascript dans eXo Platform 5.0 ?
Grâce au support intégré des modules Javascript eXo Platform permet d’intégrer facilement n’importe quel Javascript, que ce soit un développement personnalisé ou une bibliothèque tierce.
Le Javascript doit être déclaré dans le fichier WEB-INF/gatein-resources.xml de votre extension:
<module> <name>myscript</name> <script> <path>/javascript/myscript.js</path> </script> </module>
Et peut ensuite être injecté dans n’importe quel page, portlet ou autre Javascript:
(function(myscript) { myscript.doWhateverYouWant(); ... })(myscript);
Les fichiers Javascript déclarés ainsi sont automatiquement minifiés pour réduire leur taille et ainsi réduire le volume des ressources téléchargées dans les pages web. C’est une bonne pratique du développement web mais cela peut être problématique dans le cas où le Javascript n’est pas compatible avec le minifier utilisé dans eXo Platform (Google Closure Compiler). Ce cas a par exemple été rencontré avec React.js (chapitre “Incompatibility with the GateIn minifier”).
Dans eXo Platform 5.0 nous avons ajouté une option dans la configuration des modules Javascript pour désactiver cette minification : minify. La valeur par défaut est positionné à true (donc la minification est activée par défaut) pour garder la compatibilité descendante.
<module> <name>myscript</name> <script> <minify>false</minify> <path>/javascript/myscript.js</path> </script> </module>
Quand l’option minify est positionnée à false, le Javascript est injecté tel quel, sans modification. Cela permet d’embarquer dans l’application votre script déjà minifié, avec les fichiers source map, en utilisant votre tool favori (webpack, …).
Cette nouvelle option permettra d’intégrer plus facilement les bibliothèques Javascript et donc d’améliorer l’expérience développeur !
Découvrez comment eXo Platform peut vous aider à transformer votre entreprise!