我已经找到了ts2kt 库 https://github.com/Kotlin/ts2kt这将从任意位置创建 Kotlin 头文件.d.ts
文件。但是,我想朝相反的方向走。
我想构建一个可以编译为 JavaScript 的 Kotlin 库,但我想从 TypeScript 使用它。有没有办法让 Kotlin 生成一个.d.ts
来自其公开接口的文件?我以正确的方式处理这个问题吗?
在 Kotlin 1.4-M1 中添加了对导出 TypeScript 定义的支持 https://blog.jetbrains.com/kotlin/2020/03/kotlin-1-4-m1-released/#ts-definitions
预览:TypeScript 定义
我们很高兴展示的新 Kotlin/JS IR 编译器的另一个功能是从 Kotlin 生成 TypeScript 定义
代码。 JavaScript 工具和 IDE 可以在以下情况下使用这些定义:
开发混合应用程序以提供自动完成功能,支持静态
分析器,并更轻松地将 Kotlin 代码包含在 JS 和 TS 中
项目。
对于标有 的顶级声明@JsExport
(见上文)在配置为使用的项目中produceExecutable()
, a .d.ts
文件与
将生成 TypeScript 定义。对于上面的片段,他们
看起来像这样:
// [...]
namespace blogpost {
class KotlinGreeter {
constructor(who: string)
greet(): string
}
function farewell(who: string): string
}
// [...]
在 Kotlin 1.4-M1 中,这些声明可以在build/js/packages/<package_name>/kotlin
旁边相应的,
未打包的 JavaScript 代码。请注意,由于这只是一个
预览版,默认情况下它们不会添加到发行版文件夹中
现在。您可以预期这种行为将来会发生变化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)