【发布时间】:2022-10-14 22:43:10
【问题描述】:
我需要在 Kotlin/JS 中生成 uuid,并希望从 Kotlin/JS 调用 uuid.v4()。我已经浏览了文档 - https://kotlinlang.org/docs/using-packages-from-npm.html 和 https://kotlinlang.org/docs/js-modules.html 但不知何故无法弄清楚如何调用。
我做的是这个——
- 在 JsMain 源集中包含 uuid 作为 npm 依赖项
val jsMain by getting { dependencies { implementation(npm("uuid", "9.0.0")) } }- 在 JsMain 中,创建了一个包含此内容的 uuid.kt 文件
@JsModule("uuid") @JsNonModule external fun v4(options: Any?, buf: Any?, offset: Any?): String- 在 Kotlin/Js 代码中,调用
v4(null, null, null)不起作用。
我在控制台中收到此错误-
Uncaught ReferenceError: v4 is not defined
【问题讨论】:
-
您需要使用
@JsModule("uuid")提及该模块 -
是的,我忘了在问题中提到我还添加了@JsModule(“uuid”),编辑了问题......
标签: javascript kotlin kotlin-multiplatform kotlin-js kotlin-js-interop