编译为 Java 脚本时使用 Java Kotlin 标准库
Use Java Standard Lib for Kotlin when compiling to Javascript
我已经在 Kotlin 中实现了一个用于浏览器的库。当我将它编译为 Java 脚本时,来自 Java 标准库的依赖项,例如未找到像 PriorityQueue 一样的集合 类。
是否有可能说服编译器也找到并编译这些 类,或者是否有预编译的 Javascript-Java 标准库,或者我必须仅使用 Kotlin 标准库?
您只能使用 Kotlin 标准库。 Kotlin -> js 编译器无法将 java 库(或任何 jar)转换为 javascript.
我不太熟悉 Kotlin 所做的努力,但 scala.js 社区已将许多标准 java 库功能移植到 scala.js 以简化 jvm 和网络浏览器。对于您要使用的特定功能,Kotlin 需要进行类似的操作。
但是您可以参考 java来自 kotlin 的脚本:https://blog.jetbrains.com/kotlin/2014/12/javascript-interop/
您可以尝试 TeaVM 将字节码编译为 Java 脚本。只需使用 kotlinc
从 Kotlin 获取字节码并通过 TeaVM 运行 获取字节码。您将无法使用 Kotlin2JS 提供的 JS 互操作(相反,您可以使用 TeaVM 自己的方式与 JavaScript 进行通信),但您可以轻松地与 Java.
进行互操作
[为了将 any Java 字节码编译成 JavaScript,] 我 HIGHLY 建议你采取看看 JTransc JVM-to-just-about-anything* project (JTransc@Github).
JTransc Project appears to have a heavy lean towards Kotlin(还有Java和Scala):
Convert your Java, Kotlin and Scala code into JavaScript, C++, D, C#, PHP, AS3, Dart and Haxe and run it everywhere. Also use JVM code in your favourite language as a library.
JTransc Project targets many languages and frameworks, including a LibGDX backend by leveraging Haxe(我的旧爱)。
JTransc's author, Soywiz (Carlos Ballesteros Velasco) 恕我直言(¡Eres un crack, señor!)。
(*用我自己的话说)
轻微免责声明:我与 JTransc 项目的作者没有任何关系。
我已经在 Kotlin 中实现了一个用于浏览器的库。当我将它编译为 Java 脚本时,来自 Java 标准库的依赖项,例如未找到像 PriorityQueue 一样的集合 类。
是否有可能说服编译器也找到并编译这些 类,或者是否有预编译的 Javascript-Java 标准库,或者我必须仅使用 Kotlin 标准库?
您只能使用 Kotlin 标准库。 Kotlin -> js 编译器无法将 java 库(或任何 jar)转换为 javascript.
我不太熟悉 Kotlin 所做的努力,但 scala.js 社区已将许多标准 java 库功能移植到 scala.js 以简化 jvm 和网络浏览器。对于您要使用的特定功能,Kotlin 需要进行类似的操作。
但是您可以参考 java来自 kotlin 的脚本:https://blog.jetbrains.com/kotlin/2014/12/javascript-interop/
您可以尝试 TeaVM 将字节码编译为 Java 脚本。只需使用 kotlinc
从 Kotlin 获取字节码并通过 TeaVM 运行 获取字节码。您将无法使用 Kotlin2JS 提供的 JS 互操作(相反,您可以使用 TeaVM 自己的方式与 JavaScript 进行通信),但您可以轻松地与 Java.
[为了将 any Java 字节码编译成 JavaScript,] 我 HIGHLY 建议你采取看看 JTransc JVM-to-just-about-anything* project (JTransc@Github).
JTransc Project appears to have a heavy lean towards Kotlin(还有Java和Scala):
Convert your Java, Kotlin and Scala code into JavaScript, C++, D, C#, PHP, AS3, Dart and Haxe and run it everywhere. Also use JVM code in your favourite language as a library.
JTransc Project targets many languages and frameworks, including a LibGDX backend by leveraging Haxe(我的旧爱)。
JTransc's author, Soywiz (Carlos Ballesteros Velasco) 恕我直言(¡Eres un crack, señor!)。
(*用我自己的话说)
轻微免责声明:我与 JTransc 项目的作者没有任何关系。