Javascript Play asset pipeline未在生产中生成js文件的缩小版本?

Javascript Play asset pipeline未在生产中生成js文件的缩小版本?,javascript,playframework,sbt,minify,uglifyjs,Javascript,Playframework,Sbt,Minify,Uglifyjs,有了Play 2.4 web应用程序,我正试图使用从我的.js文件创建.min.js 路线声明: GET /assets/*file controllers.Assets.at(path="/public", file) pipelineStages := Seq(uglify) override def at(path: String, fileName: String, cacheAggressively: Boolean): Action[AnyContent] = { s

有了Play 2.4 web应用程序,我正试图使用从我的
.js
文件创建
.min.js

路线声明

GET  /assets/*file  controllers.Assets.at(path="/public", file)
pipelineStages := Seq(uglify)
override def at(path: String, fileName: String, cacheAggressively: Boolean): Action[AnyContent] = {
    super.at(path, redirectToMin(path, fileName), cacheAggressively)
}

private def redirectToMin(path: String, fileName: String): String = {
    val resourceName = some logic to crated the minfile...
    Play.maybeApplication.flatMap(_.resource(resourceName).map(_ => minFile)).getOrElse(fileName)
}
管道阶段

GET  /assets/*file  controllers.Assets.at(path="/public", file)
pipelineStages := Seq(uglify)
override def at(path: String, fileName: String, cacheAggressively: Boolean): Action[AnyContent] = {
    super.at(path, redirectToMin(path, fileName), cacheAggressively)
}

private def redirectToMin(path: String, fileName: String): String = {
    val resourceName = some logic to crated the minfile...
    Play.maybeApplication.flatMap(_.resource(resourceName).map(_ => minFile)).getOrElse(fileName)
}
覆盖了
资产。在

GET  /assets/*file  controllers.Assets.at(path="/public", file)
pipelineStages := Seq(uglify)
override def at(path: String, fileName: String, cacheAggressively: Boolean): Action[AnyContent] = {
    super.at(path, redirectToMin(path, fileName), cacheAggressively)
}

private def redirectToMin(path: String, fileName: String): String = {
    val resourceName = some logic to crated the minfile...
    Play.maybeApplication.flatMap(_.resource(resourceName).map(_ => minFile)).getOrElse(fileName)
}
为了测试一切都在开发模式下工作,正如本文所建议的,我在Assets:=Seq(uglify)中使用
pipelineStages,并生成缩小的javascript文件。但是,当我使用
start
启动应用程序以指示我们正在生产时,不会生成缩小版本。任何关于我下一步的想法都将不胜感激

PS1:如果有什么不同,我正在使用sbt-uglify-1.0.3


PS2:我正在使用样式表,这些样式表已正确缩小。

为什么您需要自己的资产控制器?开箱即用资产控制器具有访问缩小文件所需的所有逻辑。另外,您确定没有创建这些文件吗
.min.js
文件在
target/web/rjs
上创建,之后打包为webjar。感谢您编辑本文。是的,我必须重新访问我的控制器,它是Play2.3之前的遗留文件。。我没有用RJ,只是丑陋而已。当我在开发模式下使用资产中的
pipelineStages:=Seq(uglify)
运行它时,会在“target\web\public\main\javascripts”中创建.min.js。因此,当我使用“start”运行服务器时,我认为它应该在相同的位置生成.min.js。不是这样吗?