2014-01-20 37 views
0

生成的文件我用SBT-JS越來越playframework服務於resource_managed

https://github.com/untyped/sbt-plugins/tree/develop/sbt-js

產生所產生的所有的JavaScript文件

壓縮文件的壓縮串聯SBT-JS結束在* resource_managed *目錄

(目標/ scala2.10/resource_managed /主/ all.js)

無W I需要得到發揮服務於這個文件,看來,我需要爲它創建一個 路線,但無法弄清楚這其中的一個,我已經試過變化:

GET /assets/all.js controllers.Assets.at(path="/resource_managed/main", file="all.js") 

沒有成功。

回答

0

resource_managed/main的(已知)內容放在類路徑的根目錄下,所以如果你正在做的工作會是Assets.at(path =「/」,file =「all.js」)

壞消息是resource_managed是爲play資產編譯器生成的文件保留的,那些文件實際上會返回輸出的每個文件,以便play/sbt知道文件。所以爲了實現這個目標,你需要將sbt-js-compilation編譯爲資產編譯器,並將其包含在play資產編譯器中。

好消息是,有一個非託管資源的概念,可以是任何你想要的。要使用,你會設置你的SBT配置的關鍵unmanagedResourceDirectories,例如像這樣:

val myCompiledJsDir = SettingsKey[File]("js-output-dir", "Where my js is compiled to") 

val myJsSettings = Seq(
    myCompiledJsDir <= target(_/"my-js-output"), 
    (unmanagedResourceDirectories in Compile) <+= myCompiledJsDir 
) 

然後追加myJsSettings到你的遊戲項目

val main = play.Project(appName, appVersion, Dependencies.all).settings(
    ... 
).settings(myJsSettings: _*) 

這應該使遊戲拿起你的編譯js就好了,您添加的目錄將被添加到類路徑根目錄中,並將打包成play dist zip文件等。