【问题标题】:How to enable Closure Compiler's minification feature in Play 2.0如何在 Play 2.0 中启用 Closure Compiler 的缩小功能
【发布时间】:2012-03-21 13:17:31
【问题描述】:

根据此处的文档:https://github.com/playframework/Play20/wiki/AssetsGoogleClosureCompiler 它说:

应用程序/资产中存在的任何 JavaScript 文件都将由 Google Closure 编译器解析,检查错误和依赖关系,如果在构建配置中激活,则将其缩小。

但是我不知道如何在构建配置中设置它,我尝试添加代码:

val main = PlayProject(appName, appVersion, mainLang = SCALA).settings(
    javascriptEntryPoints <<= baseDirectory(base =>
        base / "app" / "assets" / "javascripts" ** "*.js"
    )
)

在 build.scala 但是我找不到任何缩小的 JavaScript 文件。

以下是我尝试过的步骤:

  1. 在build.scala中加入以上代码

  2. 在 app/assets/javascripts 中创建一个 JavaScript 文件

  3. 在 Play 控制台中输入“compile”,并注意 app/assets/javascripts 或 public/javascripts 中没有生成任何缩小的 JavaScript 文件

但是,我注意到如果我编写了一些无效的 JavaScript,我会收到一条错误消息(例如,在 127.0.0.1:9000 - 编译错误),所以看起来闭包编译器正在成功检查错误,但是我'我不确定如何进行缩小。

关于缩小主题,是否可以在开发模式下使用常规(非缩小)JavaScript 文件,但在生产中使用缩小版?

谢谢

【问题讨论】:

    标签: google-closure-compiler playframework-2.0


    【解决方案1】:

    Play 不会在编译后将资产放入公共或资产文件夹中。编译后的资源(JS、Less 或 CoffeeScript)被放入:

    /target/scala[version]/resource_managed/main/...

    Play 将创建到这些文件的映射,以便您可以将资产视为存在于 /public 文件夹中。

    需要注意的是,在开发模式下编译不会将文件输出到这个目录中。当您使用浏览器点击 localhost:9000 路径时,这将进行最终编译,然后将文件输出到目录。

    要回答缩小版本(并查看如何更改构建配置的更好示例),我建议查看 Yann Simon 关于在 Play 中使用 Less 的帖子。它在概念上与 JS 的过程相同,他还有一个很好的例子来说明如何基于 Play 模式在未缩小/缩小版本之间切换:

    https://plus.google.com/u/0/108788785914419775677/posts/QgyUF9cXPkv

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-06
      • 2013-04-03
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 2013-08-13
      • 2015-07-27
      • 2014-08-26
      相关资源
      最近更新 更多