无法访问生产中的编译资产位置。Play Framework 2.2.x:静态资产位置在生产中不起作用
我的策略一直以服务于“应用程序/资产/ UI”我的资产在开发时与“公”时,在生产中为我的conf /路线图所示,这是做文件
#{if(play.Play.mode.isDev())}
GET /assets/*file controllers.common.Assets.at(path="/app/assets/ui", file)
#{/}
#{else}
GET /assets/*file controllers.common.Assets.at(path="/public", file)
#{/}
由于我已经定义外资产映射“公共”,我已经添加了以下行我Build.scala
playAssetsDirectories <+= baseDirectory/"app/assets/ui"
作为我的脚本加载conditionaly取决于环境的示例如下所示
@if(play.Play.isDev()) {<script src="@routes.Assets.at("/app/assets/ui", "javascripts/application.js")"type="text/javascript"></script>} else {<script src="@.routes.Assets.at("/public", "javascripts/application.min.js")" type="text/javascript"></script>}
我为我的前端工作流程使用Grunt,当应用程序构建它时,它会将分发文件复制到应用程序的公用文件夹中。 我使用"sbt clean compile stage"
开始生产应用程序,然后运行打包的应用程序。
我的问题似乎是,路线仍然是指“app/assets/ui”文件夹,而不是分发“公共”文件夹。
关于如何调试的任何提示?我的工作背景是作为一名前端开发人员,所以我非常喜欢Play!和斯卡拉。
谢谢你这现在是有道理的,我不知道在条件句玩2.x版本中不再支持请您详细说明我可以如何将基本路径合并到我的资产管理器中?我目前的资产控制器如下所示。 'packages controllers.common object Assets extends controllers.AssetsBuilder' –
谢谢,这正是我所需要的。 –