Scala.js可以自行编译吗?

Mal*_*lio 6 scala.js

我正在阅读教程,看起来Scala.js只能在sbt下运行.

是否有Scala.js(或一般的Scala环境)不是用Scala编写的?或者由于其他原因,所有必要的部分都不能通过Scala.js?我错过了什么?

sjr*_*jrd 8

大多数情况下,这是因为Scala编译器使用了许多尚未移植到Scala.js的JDK部分.其中一些部分,尤其与读取文件(在类路径和源文件中)有关,这些部分无法在JavaScript中实现(尽管可以针对一个特定平台实现,例如Node.js).

还存在对ASM的依赖,ASM是用Java编写的Java字节码操作库.即使Scala.js编译为JavaScript,Java字节码仍然用于单独编译(在先前编译的部分中进行符号查找,例如库).

因此,即使Scala.js特定部分是以独立于平台的方式编写的(例如,我们测试Scala.js优化器可以自我优化),scalac中有很多部分不能用于 - Scala.js中的框.