我是Scala.js的新手。我想使用Argonaut json库。
https://github.com/argonaut-io/argonaut
它唯一的依赖关系似乎是 Monocle和Scalaz都有为Scala.js编译的版本。我很乐意将Argonaut移植到Scala.js,但对如何开始没有坚定的想法。有没有人有任何指示?
感谢。
答案 0 :(得分:24)
首先要尝试转换构建,以便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
。为此,我建议cross-building documentation page作为进一步文档的来源。