28

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

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

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

但是,如果CompilerOptions没有设置,JavaScript 可以正确编译而不会出现重复,但是编译级别太严格,我们的 JavaScript 会停止工作,因为它会指出这些文件中写入的某些内容有错误。总体而言,缩小过程激活太晚了,无法修复所有项目 js 文件以使用默认编译器选项进行处理,因此现在唯一的选择是将其配置为以使用轻型缩小但没有 js 重复的方式工作。在这个问题上的任何帮助都会不胜感激!

我在 Java 项目中使用 Play Framework 2.1.1。

4

2 回答 2

1

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

于 2014-03-28T16:24:00.850 回答
0

将 Play 框架升级到 2.2.2

于 2014-03-28T13:12:05.460 回答