我想在 Play 中使用 Google Closure 的简单优化!(使用斯卡拉)
我现在搜索了一段时间来寻找解决方案。
我发现的第一件事是在 Build.scala 中添加以下内容:
val main = play.Project(appName, appVersion, appDependencies).settings(
closureCompilerOptions += "advancedOptimizations"
)
但不知何故,高级优化器完全杀死了我的 JS。它甚至“优化” document.getElementsByTagName() 为 aa()...
所以我搜索了一下,发现了另一种方法:
val defaultOptions = new CompilerOptions()
defaultOptions.closurePass = false
CompilationLevel.SIMPLE_OPTIMIZATIONS.setOptionsForCompilationLevel(defaultOptions)
defaultOptions.setProcessCommonJSModules(false)
defaultOptions.setManageClosureDependencies(false)
val main = play.Project(appName, appVersion, appDependencies).settings(
closureCompilerSettings(defaultOptions) : _* // ++
)
这正是我们想要的,但有一个很大的缺点,在我的情况下这是不行的。它结合了所有 Javascript 文件。
有人知道如何禁用 JS 合并吗?它不会在第一种方法中进行合并,仅适用于第二种方法。我不知道为什么。