我正在尝试在服务器和客户端之间共享一个案例类。我在两端都使用了upickle。两端都可以很好地使用对象及其数据。
共享课程
case class Foo(var id : Long,var title: Description)
但是我需要在客户端导出案例类的字段。我可以添加@ExportAll
注释,但这意味着在服务器项目中引入scalajs库。
是否有更好的方法可以将成员ID和标题公开给javascript。
TX。,
答案 0 :(得分:9)
将内容导出到JavaScript的正确方法是使用@JSExportAll
注释。但是,您不能也不应该在服务器项目中提取Scala.js库。对于这个用例,我们有一个专用的JVM工件scalajs-stubs
,你可以像这样添加到你的JVM项目中:
libraryDependencies += "org.scala-js" %% "scalajs-stubs" % scalaJSVersion % "provided"
作为"提供"依赖性,它不会出现在运行时。但它允许您编译JVM项目,即使它引用JSExportAll
。