我有一个包含客户端和服务器部分的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.
还需要哪些其他设置?
答案 0 :(得分:2)
您必须在Scala.js项目的依赖项中使用%%%
而不是%%
:
"com.lihaoyi" %%% "scalatags" % "0.5.5"