Play Framework 2:JavaScript因缩小而变得复制(谷歌闭包编译器)

Mau*_*ähä 28 javascript google-closure-compiler playframework-2.0 playframework-2.1

我有一个与JavaScript缩小相关的奇怪问题,问题是当在文件/assets/javascript/test夹中放置test1.js,test2.js等JavaScript文件并使用以下关闭编译器选项时:

val defaultOptions = new CompilerOptions()
    defaultOptions.closurePass = true
    defaultOptions.setProcessCommonJSModules(false)
    defaultOptions.setPrettyPrint(true)
    CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(defaultOptions)
Run Code Online (Sandbox Code Playgroud)

它们会被缩小,但这会导致test1.min.js和test2.min.js文件共享相同的代码... ...当在同一页面中使用文件并占用更多磁盘空间时,这将导致一些额外的JavaScript错误.

但是,如果CompilerOptions没有设置,JavaScript会正确编译而不会重复,但编译级别太严格,我们的JavaScript会停止工作,因为它会显示有关这些文件中写入的某些内容的错误.总的来说,缩小过程激活太晚,无法修复所有项目js文件以使用默认编译器选项,因此现在只有选项将其配置为使用轻微缩小而不使用js重复的方式..对此问题的任何帮助都将非常感谢!

我正在使用Play Framework 2.1.1和Java项目.

Mau*_*ähä 1

似乎这个主题引起了一些兴趣,我不想指出升级到play version 2.2.2. 所以我会接受这个作为解决方案,因为修复它的方法似乎不那么老套。