【发布时间】:2013-09-06 12:28:06
【问题描述】:
我有一个与 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。
【问题讨论】:
-
你找到答案了吗?
-
经过更多挖掘,我发现这个问题适用于 play 2.2.1:github.com/playframework/playframework/issues/2192
-
是的,我最近没有时间使用它,虽然我们想出了一些非常大的黑客来解决这个问题,如果 2.2.1 修复了它,那么值得尝试接受它作为解决方案。
标签: javascript playframework-2.0 playframework-2.1 google-closure-compiler