1
私はJavascriptとしてKotlinコードをコンパイルしようとしています。私のコードでは、文字列をURIとしてエンコードする必要があります。私の2つの変異体は、両方のコンパイルに失敗している:このコードコンパイラでKotlinコードからJavascript関数を呼び出す方法は?
class PlaceholderJS(prefix: String, placeholder: String?): Placeholder(prefix, placeholder) {
override fun encode(str: String): String {
return encodeURIComponent(str)
}
https://www.w3schools.com/jsref/jsref_encodeuricomponent.aspに応じて、すべてのブラウザでサポートされている、関数encodeURIComponentで(STR)を見つけることができません。
オルタナティブ:
class PlaceholderJS(prefix: String, placeholder: String?): Placeholder(prefix, placeholder) {
override fun encode(str: String): String {
return URLEncoder.encode(str, Charsets.UTF_8.name())
}
は(Javaでのようにファイルにインポート)JavaクラスのURLEncoderを見つけることができません。これは、JSではなくJVM用にコンパイルされたときに機能します。また
私はKotlinモジュールが付いています:
はexternal fun encodeURIComponent(str: String): String
が一度せずにコンパイルさKotlinクラスすべてにこれを追加しました:私はKotlinにJavaScript関数を宣言する最新の方法があることがわかっ
compileKotlin2Js.kotlinOptions.moduleKind = "umd"