Comment désactiver la minification des modules Javascript dans eXo Platform 5.0 ?

eXo Platform Blog

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!

Postes Connexes

Je suis un architecte logiciel chez eXo. Avec les développeurs, j'essaye de traduire techniquement ce que les responsables de gestion de produit ont dans leurs esprits. J'aide également l'équipe de support à répondre aux questions des clients. Dans ce blog, je partage ce que nous développons dans la plate-forme, je donne également des conseils pour aider les clients à l'utiliser ou à le personnaliser.

Commentaires
Laisser une réponse

Votre adresse email ne sera pas publiée.

Vous pouvez utiliser ces HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>