我是Scala.js的新手。我想使用Argonaut json库。
https://github.com/argonaut-io/argonaut
它唯一的依赖项似乎是Monocle和Scalaz,它们都有为Scala.js编译的版本。我很乐意将Argonaut移植到Scala.js,但对如何开始没有坚定的想法。有没有人有任何指针?
谢谢。
首先要尝试转换构建,以便JVM项目成为Scala.js项目。这个的基础很简单:
在project/plugins.sbt
中,将依赖项添加到Scala.js sbt插件:
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.2")
在build.sbt
或project/Build.scala
(或类似的,取决于给定项目使用的内容),通过添加以下内容将项目转换为Scala.js项目:
.enablePlugins(ScalaJSPlugin)
他们的定义。对于它们的依赖项,用%%
依赖项替换%%%
依赖项以依赖于Scala.js工件。
此时,代码可以编译,并且可以用于编写示例或直接在您的应用程序中。复杂的构建可能需要更多工作。
如果您的应用程序中的一切正常,那么您已经成功地将这个库移植到Scala.js的概念验证。
好了,现在您已经快速了解了库可以编译和使用Scala.js的概念,您需要进行正确的交叉编译构建而不是快速分叉。实际上,现在构建不再产生JVM工件了。
为此,您需要将需要交叉编译的所有项目重新转换为crossProject
s。为此,我建议使用cross-building documentation page作为进一步文档的来源。