我有一个与 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 的方式工作..对此问题的任何帮助都将受到高度赞赏!
我正在将 Play Framework 2.1.1 与 Java 项目结合使用。
最佳答案
似乎这个主题引起了一些兴趣,我不想指出升级到 play 版本 2.2.2
后我无法重现这个问题。所以我会接受这个作为解决方案,因为修复它的方法似乎不那么老套。
关于javascript - Play Framework 2 : JavaScript gets duplicated as a result of minification (google closure compiler),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18657897/