将scalatags添加到Play框架项目中

时间:2016-05-01 05:30:38

标签: playframework scala.js scalatags

我有一个包含客户端和服务器部分的Play框架项目。客户端部分使用scala.js。我正在尝试在客户端脚本中使用scalatags。

在项目的build.sbt中,我将"com.lihaoyi" %% "scalatags" % "0.5.5"添加到libraryDependencies。 IntelliJ然后为scalatags类型提供正确的代码完成。该页面如下:

package app

import scala.scalajs.js
import org.scalajs.dom
import scalatags.Text.all._

object App extends js.JSApp {
    def main(): Unit = {
        dom.document.getElementById("scalajsShoutOut").innerHTML = h1("Hello").render
    }
}

但是,在请求页面时,我遇到了编译器错误:

[error] Referring to non-existent class scalatags.Text$all$
[error]   called from app.App$.main()scala.Unit
[error]   called from scala.scalajs.js.JSApp$class.$$js$exported$meth$main(scala.scalajs.js.JSApp)java.lang.Object
[error]   called from app.App$.$$js$exported$meth$main()java.lang.Object
[error]   called from app.App$.main
[error]   exported to JavaScript with @JSExport
[error] involving instantiated classes:
[error]   app.App$
etc.

还需要哪些其他设置?

1 个答案:

答案 0 :(得分:2)

您必须在Scala.js项目的依赖项中使用%%%而不是%%

"com.lihaoyi" %%% "scalatags" % "0.5.5"