【问题标题】:Minify client through Play Framework通过 Play 框架缩小客户端
【发布时间】:2015-05-30 03:18:12
【问题描述】:

如何通过 play-framework 缩小 JS 和 CSS?

“Google Closure Compiler”不再是一个选项,因为它已被删除。

我正在使用 play Activator 2.3.7

注意:由于 Google Closure Compiler 已从 activator 2.3.7 中删除,因此此问题不再重复。

【问题讨论】:

标签: javascript html playframework minify typesafe-activator


【解决方案1】:

Play 2.4 也一样。

  • 将空的 main.js 添加到公共文件夹

  • plugins.sbt:

      addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7")
    
  • build.sbt:

      pipelineStages := Seq(rjs)
    
  • 生成生产可执行文件:

      $activator stage
    
  • 运行结果:

      ./target/universal/stage/bin/<yourproject>
    

注意:在运行激活器阶段时,您应该看到它输出缩小/丑化的过程:

...

[info] 跟踪依赖项:main

[信息] Uglify2 文件:/path/to/your/project/public/something.js

...

【讨论】:

  • 我用 gulp 代替
【解决方案2】:

你可以使用 RequireJS。记录在here,但基本上只是在build.sbt中添加以下内容

pipelineStages := Seq(rjs)

然后将这一行添加到文件project/plugins.sbt

addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7")

正如 RequireJS 网站所述

将相关脚本组合成构建层,并通过 UglifyJS(默认)或 Closure Compiler(使用 Java 时的一个选项)将它们缩小。

通过内联 @import 引用的 CSS 文件并删除 cmets 来优化 CSS。

【讨论】:

  • 添加到 build.sbt 后,我​​不明白如何从文档中激活缩小和连接。github.com/sbt/sbt-rjs#sbt-rjs你有例子吗?
  • 仅在生产中自动添加。 activator startactivator stage
  • 我写了激活器启动,当在 chrome F12 中查看文件时,它们既没有缩小也没有连接。
  • 检查我上次的编辑。它对我有用,并且以同样的方式记录,所以它应该对你有用。
  • 你能上传一个例子吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-27
  • 2018-12-15
相关资源
最近更新 更多