2013-04-23 28 views
1

在玩的2.1.x和更高您可以通過添加到Build.scala一個指令像使用本地的CoffeeScript編譯:在Playframework的2.1.x如何選擇發展模式的本土coffescript只有

coffeescriptOptions := Seq("native", "/opt/local/bin/coffee -p") 

這是速度非常不錯,但當咖啡二進制文件不存在時就會中斷,例如部署到heroku時。

您能僅在開發模式中設置該選項嗎?這樣我可以獲得發展的速度,而生產是一次性成本。

看來,Build.scala目前尚不具備的信息,如果我們是在生產或開發模式

回答

1

我沒有測試它,但你可能想使用Multi BuildpackNode.js BuildpackScala Buildpack結合起來,嘗試。 Node.js buildpack應該讓你帶入Coffee Script二進制文件,然後Scala buildpack會執行Play build。

要開始,你可以這樣做:

$ heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git 

$ cat .buildpacks 
https://github.com/heroku/heroku-buildpack-nodejs.git 
https://github.com/heroku/heroku-buildpack-scala.git 

,然後你需要添加一個package.json,在coffee-script依賴帶來的:

{ 
    "dependencies": { 
    "coffee-script": "1.2.x" 
    } 
} 

您還需要更新您的/opt/local/bin/coffee NPM丟棄二進制文件的路徑。它可能在$HOME/node_modules/coffee-script/bin/coffee

+0

我試過這個,似乎進展順利,直到我得到一個錯誤[錯誤](*:play-copy-assets)java.io.IOException:無法運行程序「$ HOME/node_modules/coffee-script/bin/coffee 「:java.io.IOException:error = 2,沒有這樣的文件或目錄。我將Build.scala中的設置註釋掉了,我可以看到buildpack確實在正確的地方安裝了coffeescript – Krumpi 2013-04-24 02:16:45

+0

由於在構建時發生這種故障,請嘗試使用'$ BUILD_DIR'而不是'$ HOME'。如果在運行時也需要這樣做,那麼你可能需要做一些簡單的工作來將'BUILD_DIR'設置爲'/ app',並且'heroku config:add BUILD_DIR =/app',這樣它在運行時也可以找到它。另一件要注意的事情是,如果SBT允許env vars像Build.scala那樣直接內聯使用。 – ryanbrainard 2013-04-24 07:27:52

相關問題