Получение лифта-скалята для приема файлов .jade - PullRequest
0 голосов
/ 08 января 2012

В настоящее время я заново реализую какой-то проект с использованием Lift. Все старые представления были сделаны с использованием jade для express.js, и я был рад прочитать, что, похоже, Scalate справляется и с этим.

Это не так просто, как кажется, кажется. После добавления строки

(new ScalateView).register

и при изменении вида файлов он должен работать, согласно любому найденному источнику. Но когда я пытаюсь открыть http://localhost:8080/, я получаю сообщение об ошибке «Запрошенный URL / не найден на этом сервере».

Журналы консоли говорят мне, что они искали файлы 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"
)

Но это все та же проблема.

Что такое недокументированный магический трюк, чтобы заставить это работать?

1 Ответ

1 голос
/ 28 февраля 2012

Это потому, что плагин 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

Обязательно импортироватьcode.lib.ScalateView в вашем файле Boot.scala

...