我目前正在使用Lift重新实施一些项目。所有旧视图都是使用jade
express.js
完成的,我很高兴看到Scalate似乎也能够处理它。
看起来并不像听起来那么容易。添加行
后(new ScalateView).register
根据我找到的任何来源,并更改视图文件,它应该可以工作。但是当我尝试打开http://localhost:8080/
时,我收到一条错误“在此服务器上找不到请求的网址”。
控制台日志告诉我他们正在搜索文件index.ssp
和index.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"
)
但它仍然是同样的问题。
什么是无证的魔术技巧让它发挥作用?
答案 0 :(得分:1)
这是因为Lift Scalate插件默认不支持.jade文件
我必须创建自己的ScalateView.scala和LiftTemplateEngine.scala并将它们添加到我的项目树中的src / main / scala / code / lib /
此外,scalate和Lift之间存在一个错误,它会使scala 2.9.0+失败。我不得不使用scala 2.8.0来使其工作
这两个文件:
请务必在Boot.scala文件中导入code.lib.ScalateView