2017-09-13 74 views
0

我試圖將Kotlin函數導出到Javascript。問題是,這需要參數功能Kotlin2JS手術後更名,這裏有一個例子:如何將Kotlin函數以正確的名稱導出到Javascript

科特林來源:

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] } 
> 

由於你可以看到,帶有後綴_61zpoe$的參數功能。是否有可能擺脫那部分?

我使用kotlin2js插件和kotlin-stdlib-js:1.1.1圖書館,我kotlinOptions是:

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

感謝

編譯

回答

1

您可以使用@JsName註釋,以提供功能確切名稱(或其他符號) JavaScript的。 也就是說

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

完美無瑕地工作,謝謝! –

相關問題