2012-01-07 27 views
0

我目前正在使用Lift重新實現一些項目。對於express.js,所有舊視圖都使用jade完成,我很高興看到Scalate似乎也能夠處理它。獲得lift-scalate接受.jade文件

這聽起來並不像聽起來那麼容易。根據我發現的任何來源,在添加行

(new ScalateView).register 

和更改視圖文件,它應該工作。但是當我嘗試打開​​時,出現錯誤「請求的URL /在此服務器上找不到」。

控制檯日誌告訴我他們正在搜索文件index.sspindex.scaml。但是,當然只有一個index.jade。我想這可能是的scalate版本太老了,所以我改變了我的build.sbt

name := "project" 

version := "0.0.1" 

scalaVersion := "2.9.1" 

seq(webSettings: _*) 

libraryDependencies ++= { 
    val liftVersion = "2.4-M5" 
    Seq(
    "net.liftweb" %% "lift-webkit" % liftVersion % "compile->default", 
    "net.liftweb" %% "lift-mongodb" % liftVersion % "compile->default", 
    "net.liftweb" %% "lift-mongodb-record" % liftVersion % "compile->default", 
    "net.liftweb" %% "lift-wizard" % liftVersion % "compile->default", 
    "net.liftweb" %% "lift-scalate" % liftVersion % "compile->default", 
    "org.fusesource.scalate" % "scalate-core" % "1.5.3" % "compile->default" 
) 
} 

libraryDependencies ++= Seq(
    "junit" % "junit" % "4.5" % "test->default", 
    "org.eclipse.jetty" % "jetty-webapp" % "8.0.4.v20111024" % "container", 
    "javax.servlet" % "servlet-api" % "2.5" % "provided->default", 
    "ch.qos.logback" % "logback-classic" % "0.9.26" % "compile->default" 
) 

但它仍然是同樣的問題。

什麼是無證的魔術,讓這個工作?

回答

1

這是因爲電梯Scalate的插件不支持.jade文件默認情況下

我要創建我自己的ScalateView.scala和LiftTemplateEngine.scala,並將其添加到我的項目樹的src/main /斯卡拉/代碼/ lib/

此外有一個之間的scalate和電梯之間的某個地方,使它與scala 2.9.0 +失敗。我不得不使用Scala的2.8.0得到它的工作

兩個文件:

http://pastebin.com/mLU0DAFu

http://pastebin.com/AmJmBjE7

一定要導入code.lib.ScalateView在Boot.scala文件