如何导出共享案例类的属性

时间:2015-02-09 15:29:17

标签: scala.js

我正在尝试在服务器和客户端之间共享一个案例类。我在两端都使用了upickle。两端都可以很好地使用对象及其数据。

共享课程

case class Foo(var id : Long,var title: Description)

但是我需要在客户端导出案例类的字段。我可以添加@ExportAll注释,但这意味着在服务器项目中引入scalajs库。

是否有更好的方法可以将成员ID和标题公开给javascript。

TX。,

1 个答案:

答案 0 :(得分:9)

将内容导出到JavaScript的正确方法是使用@JSExportAll注释。但是,您不能也不应该在服务器项目中提取Scala.js库。对于这个用例,我们有一个专用的JVM工件scalajs-stubs,你可以像这样添加到你的JVM项目中:

libraryDependencies += "org.scala-js" %% "scalajs-stubs" % scalaJSVersion % "provided"

作为"提供"依赖性,它不会出现在运行时。但它允许您编译JVM项目,即使它引用JSExportAll

另见the ScalaDoc of scalajs-stubs