2017-09-13 3 views
0

私はKotlin関数をJavascriptにエクスポートしようとしています。正しい名前のJavascriptにKotlin関数をエクスポートする方法

Kotlinソース:ノードREPLに必要としようとしているKotlin2JS後

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

fun withoutParams() { 
    println("Without params") 
} 

、:

> const kotlinBundle = require('./build/index.js'); 
undefined 
> kotlinBundle 
{ 'withParam_61zpoe$': [Function: withParam], 
    withoutParams: [Function: withoutParams] } 
> 

ような問題は、ここでは一例です、引数を必要とする機能がKotlin2JS操作後に名前が変更され、ありますあなたが見ることができる引数は、_61zpoe$接尾辞で輸出されている。その部分を取り除くことは可能ですか?

私は私のkotlinOptionsがあり、kotlin2jsプラグインとkotlin-stdlib-js:1.1.1ライブラリを使用しています:

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

おかげ

答えて

1

あなたがコンパイルされた関数(または他のシンボル)の正確な名前を提供するために、@JsNameアノテーションを使用することができますjavascript。 I.

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

ありがとうございました! –

関連する問題