加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala.js – 如何将现有的Scala库迁移到scalajs?

发布时间:2020-12-16 19:03:19 所属栏目:安全 来源:网络整理
导读:我是新来的 Scala.js.我想使用Argonaut json库. https://github.com/argonaut-io/argonaut 它唯一的依赖似乎是 Monocle和Scalaz都有为Scala.js编译的版本.我很乐意将Argonaut移植到Scala.js,但是对于如何开始并不十分了解.有人有任何指针吗? 谢谢. 解决方法
我是新来的 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的常见测试框架尚未支持Scala.js(这正在改变,例如,ScalaTest将很快提供Scala.js支持).在这一点上,如果他们使用ScalaTest,我会建议您等待几周ScalaTest支持Scala.js.对于其他测试框架,可能需要将测试套件移植到支持Scala.js的测试套件.

进一步:交叉编译构建

好的,所以现在你有一个快速的概念验证,图书馆可以编译和工作在Scala.js,你将要做一个正确的交叉编译构建,而不是快速的fork.的确,现在的build不再产生JVM工件了.

为此,您需要将需要交叉编译的所有项目重新转换为crossProjects.为此,我建议cross-building documentation page作为进一步文件的来源.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读