無法訪問生產中的編譯資產位置。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' –
謝謝,這正是我所需要的。 –