跳转到主要内容
版本:v2.2.0-0.13.1

JsExport 集成

如果您想将 @JsExport 与默认 JS 配置一起使用, 您需要特殊处理以防止冲突:

import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations

plugins {
// ...
}

suspendTransformPlugin {
transformers {
addJsPromise {
addCopyAnnotationExclude {
// 生成的函数不包含(复制)`@JsExport.Ignore`。
from(kotlinJsExportIgnoreClassInfo)
}
}
}
}

使用示例

@file:OptIn(ExperimentalJsExport::class)

@JsExport
class Foo {
@JsPromise
@JsExport.Ignore
suspend fun run(): Int = ...
}

此配置确保:

  • 原挂起函数标记为 @JsExport.Ignore
  • 生成的基于 Promise 的函数导出到 JavaScript
  • 挂起函数和 Promise 变体之间不会发生冲突