28 votes

Play Framework 2: JavaScript est dupliqué à la suite de la minification (compilateur de fermeture Google)

J'ai un drôle de problème lié à JavaScript minification, le problème est que lors de la passation de fichiers JavaScript telles que test1.js, test2.js à l'intérieur d' /assets/javascript/test le dossier et à l'aide des options suivantes pour le compilateur de fermeture:

val defaultOptions = new CompilerOptions()
    defaultOptions.closurePass = true
    defaultOptions.setProcessCommonJSModules(false)
    defaultOptions.setPrettyPrint(true)
    CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(defaultOptions)

Ils obtiennent minifiés, mais cela va provoquer à la fois test1.min.js et test2.min.js fichiers pour partager les mêmes codes que minifiés... cela va entraîner des bugs JavaScript lorsque les fichiers sont utilisés dans les mêmes pages et prend plus d'espace disque.

Toutefois, si CompilerOptions n'est pas définie, JavaScript compile correctement, sans double emploi, mais la compilation est trop stricte et notre code JavaScript s'arrête de travailler parce qu'il dit des erreurs à propos de certaines choses qui sont écrites dans les fichiers. Dans l'ensemble, minification du processus est activé trop tard pour réparer tous les projets, js fichiers d'aller à travers avec les options par défaut du compilateur, donc la seule option est maintenant le configurer pour l'utiliser d'une manière qui utilisent la lumière minification mais sans js duplication.. toute aide sur ce problème sera très appréciée!

Je suis l'aide de Jeu-Cadre 2.1.1 avec projet Java.

1voto

Mauno V. Points 3868

Il semble que ce sujet a suscité de l'intérêt, je wan pas au point que je n'arrivais pas à reproduire ce problème après la mise à niveau d' play version 2.2.2. Je vais donc accepter cela comme une solution, car il semble de moins en moins hacky.

Pour les versions en dessous de ce que j'allais le chercher dans les parties pertinentes de la résolution de la pièce-cadre du code source et de les amener à faire partie de votre projet (soit un fork de votre ancienne version de jouer et de simplement fixer ici) ou tout simplement être maladroit et de l'utilisation des dossiers pour .js fichiers, de sorte qu'ils ne peuvent pas dupliquer. Je n'ai pas vraiment recommander quoi que ce soit d'autre que la mise à niveau de version de jeu.

0voto

Mettre à niveau le framework de jeu vers 2.2.2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X