如何使用正确的名称将Kotlin函数导出到Javascript

如何使用正确的名称将Kotlin函数导出到Javascript,javascript,export,kotlin,Javascript,Export,Kotlin,我正在尝试将Kotlin函数导出到Javascript。问题是,需要参数的函数在Kotlin2JS操作后重命名,下面是一个示例: Kotlin资料来源: fun withParam(args: String) { println("JavaScript generated through Kotlin") } fun withoutParams() { println("Without params") } 在Kotlin2JS之后,尝试要求节点内的REPL: > co

我正在尝试将Kotlin函数导出到Javascript。问题是,需要参数的函数在Kotlin2JS操作后重命名,下面是一个示例:

Kotlin资料来源:

fun withParam(args: String) {
    println("JavaScript generated through Kotlin")
}

fun withoutParams() {
    println("Without params")
}
在Kotlin2JS之后,尝试要求节点内的REPL:

> const kotlinBundle = require('./build/index.js');
undefined
> kotlinBundle
{ 'withParam_61zpoe$': [Function: withParam],
  withoutParams: [Function: withoutParams] }
>
如您所见,带有参数的函数以
\u 61zpoe$
后缀导出。有可能去掉那部分吗

我正在使用
kotlin2js
插件和
kotlin stdlib js:1.1
库,我的
kotlinOptions
是:

compileKotlin2Js.kotlinOptions {
  moduleKind = "commonjs"
  outputFile = "build/index.js"
}

谢谢

您可以使用@JsName注释在已编译的javascript中为函数(或其他符号)提供准确的名称。 即

@JsName("withParam")    
fun withParam(args: String) {
      println("JavaScript generated through Kotlin")
}