【问题标题】:Play Framework 2: JavaScript gets duplicated as a result of minification (google closure compiler)Play Framework 2:JavaScript 因缩小而重复(谷歌闭包编译器)
【发布时间】: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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    将 Play 框架升级到 2.2.2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多