2015-02-09 15 views
6

Tôi đang cố gắng chia sẻ một lớp chữ giữa máy chủ và máy khách. Tôi đang sử dụng upickle trên cả hai đầu. Các đối tượng và dữ liệu của chúng có sẵn ở cả hai đầu.Cách xuất thuộc tính của các trường hợp dùng chung

chia sẻ lớp

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

Tuy nhiên tôi cần phải xuất khẩu các lĩnh vực của lớp trường hợp trên các mặt hàng. Tôi có thể thêm chú thích @ExportAll, nhưng điều đó có nghĩa là kéo các thư viện scalajs vào dự án máy chủ.

Có cách nào tốt hơn để hiển thị id thành viên và tiêu đề cho javascript hay không.

tx.,

Trả lời

8

Cách đúng để xuất khẩu điều cần JavaScript để sử dụng @JSExportAll chú thích. Bạn không thể, và không nên, kéo các thư viện Scala.js vào dự án máy chủ. Đối với trường hợp sử dụng này, chúng tôi có một vật chuyên dụng JVM, scalajs-stubs, mà bạn có thể thêm vào dự án JVM của bạn như thế này:

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

Là một phụ thuộc "cung cấp", nó sẽ không có mặt tại thời gian chạy. Nhưng nó sẽ cho phép bạn biên dịch dự án JVM ngay cả khi nó tham khảo JSExportAll.

Xem thêm the ScalaDoc of scalajs-stubs.

Các vấn đề liên quan