我正在阅读本教程,看起来Scala.js只在sbt下运行。
有没有一些Scala.js (或者一般的Scala环境)不是用Scala编写的?或者,由于其他原因,所有必要的比特都不能通过Scala.js吗?我遗漏了什么?
发布于 2015-04-04 13:21:23
这主要是因为Scala编译器使用了太多尚未移植到Scala.js的JDK部分。其中一些部分,特别是与读取文件(类路径中的文件和源文件)有关,这些文件不能在JavaScript中实现(尽管可以为特定的平台(如Node.js)实现)。
还有对ASM的依赖,ASM是用Java编写的Java字节码操作库。即使Scala.js编译为JavaScript,Java字节码仍然用于单独的编译(在以前编译的部分(如库)中查找符号)。
因此,即使Scala.js特定的部分是以一种独立于平台的方式编写的(例如,我们测试Scala.js优化器可以优化自己),但在Scala.js中,有许多标尺中的部件不能正常工作。
https://stackoverflow.com/questions/29425077
复制相似问题