获取lift-scalate接受.jade文件

时间:2012-01-07 23:01:14

标签: lift sbt pug scalate

我目前正在使用Lift重新实施一些项目。所有旧视图都是使用jade express.js完成的,我很高兴看到Scalate似乎也能够处理它。

看起来并不像听起来那么容易。添加行

(new ScalateView).register
根据我找到的任何来源,

并更改视图文件,它应该可以工作。但是当我尝试打开http://localhost:8080/时,我收到一条错误“在此服务器上找不到请求的网址”。

控制台日志告诉我他们正在搜索文件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 个答案:

答案 0 :(得分:1)

这是因为Lift Scalate插件默认不支持.jade文件

我必须创建自己的ScalateView.scala和LiftTemplateEngine.scala并将它们添加到我的项目树中的src / main / scala / code / lib /

此外,scalate和Lift之间存在一个错误,它会使scala 2.9.0+失败。我不得不使用scala 2.8.0来使其工作

这两个文件:

http://pastebin.com/mLU0DAFu

http://pastebin.com/AmJmBjE7

请务必在Boot.scala文件中导入code.lib.ScalateView