0

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

这似乎并不像听起来那么容易。添加行后

(new ScalateView).register

根据我找到的任何来源,并更改视图文件,它应该可以工作。但是当我尝试打开 时http://localhost:8080/,我收到一个错误“在此服务器上找不到请求的 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"
)

但这仍然是同样的问题。

让这个工作的无证魔术是什么?

4

1 回答 1

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

于 2012-02-27T21:59:40.407 回答