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

How to export properties of shared case classes

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

共享class

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

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

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

发送.,

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

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

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

另见 the ScalaDoc of scalajs-stubs