Добавление скалатагов в проект фреймворка Play

У меня есть проект Play Framework с клиентской и серверной частями. Клиентская часть использует scala.js. Я пытаюсь использовать скаляры в сценарии на стороне клиента.

В build.sbt для проекта я добавил "com.lihaoyi" %% "scalatags" % "0.5.5" в библиотеку зависимости. Затем IntelliJ дает мне правильное завершение кода для типов скалатагов. Страница следующая:

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 ответ

Решение

Вы должны использовать %%% вместо %% в зависимостях проекта Scala.js:

"com.lihaoyi" %%% "scalatags" % "0.5.5"
Другие вопросы по тегам