問題タブ [kotlin-js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - Kotlin/JS 外部宣言 - 「JavaScript 識別子に表示できない不正な文字が名前に含まれています」
編集: これはまだサポートされておらず、Kotlin YouTrack で追跡されています
次の Typescript インターフェイスに一致する Kotlinexternal
宣言を記述しようとしています (これは、 を介した JavaScript アクセスを表す有効な TS ですheaders['content-length']
)。
Dukat は以下を生成しますが、これは有効と見なされます。
しかし今、コンパイラは次のように文句を言います:
Name contains illegal chars that can't appear in JavaScript identifier
JS 識別子に表示できないのは事実ですが、そうする必要はありません。このプロパティへのすべての Kotlin アクセスは次のようになります。
にコンパイルされた場合に有効になる可能性がありますconst length = headers["content-length"]
。
@JsName
次の方法で回避するために使用しようとしました。
@JsName("content-length")
@JsName("'content-length'")
@JsName("\"content-length\"")
しかし、有効な JS 識別子である文字列のみを許可するため、これらはすべて失敗します。これを回避する方法はありますか?
javascript - kotlin-js で例外スタックトレースを取得できますか?
私は kotlin-js を使用してアプリケーションの単純な Web フロントエンドを作成しており、例外処理の問題に直面しました。ご覧のとおり、例外スタックトレースを取得する API はありません: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html そうですか? もしそうなら、Throwableオブジェクトからスタックトレースを取得するためのライブラリまたはスニペットを知っている人はいますか?
現在、これに対するいくつかの回避策があります。
コンソール出力は次のとおりです。
ここでは、console.log(Throwable)
基礎となる JavaScript オブジェクトのプロパティを公開stack
します。1 つあるのですが、ソース マッピングを kotlin に戻さないと使いにくい JavaScript コードを指しています。
UPDstack
:標準の例外プロパティではないようですが、最新のブラウザでは一般的なものです。