javascript - Play Framework 2 : JavaScript gets duplicated as a result of minification (google closure compiler)

标签 javascript playframework-2.0 playframework-2.1 google-closure-compiler

我有一个与 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/

相关文章:

json - 在 Play 2.1 Json Api 中获取异常行号?

testing - 全局对象 onStart 未能通过我的所有测试

javascript - 如何使用 React 和 JavaScript 将 .txt 文件转换为 JSON

scala - 如何在 playframework 2 上创建仅测试路线和 View ?

javascript - 运行服务器端 Javascript

playframework - 集群中 Akka Actor 的发现

scheduled-tasks - 在集群设置中执行 2 个 Java 计划的 Akka 作业

java - Play Framework 2.1 (Java) eBean @Encrypted 注释错误

javascript - $(...).live 不是函数错误和复选框选中错误

javascript native 等同于 .each 和 .attr