playframework-2.3 - 如何缩小 sbt-concat 生成的 js

标签 playframework-2.3 sbt-web sbt-concat

我正在做我的实验,使用 sbt-concat 来组合 css/js 包。然后我尝试扩展我的管道以便为我的 css 和 js 做缩小。使用 sbt-css-compress 相当容易,它可以缩小 sbt-concat 生成的所有 CSS。 我为 js 尝试了 sbt-closure,但它似乎不起作用。为了清楚起见,我尝试了 sbt-closure 并确认它确实将下面的所有 js 编译到/assets。但是我想弄清楚它是否适用于 sbt-concat。

例如: 如果我有/assets/js/f1.js 和/assets/js/f2.js,我想将它们合并并缩小到 1 个捆绑文件中。

最佳答案

您可以使用 sbt-uglify 进行合并和缩小。

添加到plugins.sbt:

addSbtPlugin("com.typesafe.sbt" % "sbt-uglify" % "1.0.3")

添加到build.sbt:

pipelineStages := Seq(uglify)

UglifyKeys.uglifyOps := { js =>
  Seq((js.sortBy(_._2), "main.min.js"))
}

这将按文件路径的字母顺序组合您的 javascript 源。

如果您想在开发中进行连接/丑化,请使用 Assets 中的pipelineStages。通常它只会针对生产构建执行。

关于playframework-2.3 - 如何缩小 sbt-concat 生成的 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25757520/

相关文章:

java - 使用java play 2框架和spring data jpa自动生成数据库表

json - 使用 Play JSON 的多个写入来呈现对象的不同 View

java - Play Framework 2.3.7 上的全局 onStart 不工作?

scala - scala-js 如何与 sbt-web 集成?

scala - sbt-web Assets 输出目录设置

playframework-2.3 - Sbt-concat 支持多个bundle吗?

playframework-2.3 - play 2.3 sbt-concat 在 prod 中不起作用

playframework - 玩!框架模板参数组

playframework-2.3 - 无法让 sbt-web 与 npm 一起用于前端依赖项