Scala.js 不能自己编译吗?

Can Scala.js not compile itself?

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

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

主要是因为 Scala 编译器使用了太多尚未移植到 Scala.js(尚未)的 JDK 部分。其中一些部分,最值得注意的是与读取文件(在类路径和源文件中)有关,这些部分不能在 Java 脚本中实现(尽管可以在特定平台上实现,例如 Node.js).

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

所以,尽管 Scala.js 特定部分是以平台无关的方式编写的(例如,我们测试 Scala.js 优化器可以优化自身),但其中有很多部分在 Scala.js.

中不能开箱即用的 scalac