У меня есть проект ReactNative, и я пытаюсь вызвать простую функцию JS из Kotlin (вызов Kotlin из JS работает нормально).Моя директория проекта выглядит так:
«общий» модуль скомпилирован как модуль commonjs. В Main.kt у меня есть (сокращено):
external fun myFun()
В App.js у меня (сокращено):
import * as shared from './shared/build/classes/kotlin/main/shared.js' export function myFun(){ console.log("Hello") }
Поэтому я пытаюсь вызвать myFun () из Kotlin, чтобы получить консольный журнал в JS.Но я получаю исключение:
myFun is not defined
Я искал эти документы: https://kotlinlang.org/docs/reference/js-interop.html https://kotlinlang.org/docs/reference/js-modules.html#applying-jsmodule-to-packages Но я не уверен, как использовать эти аннотации (еслиони нужны?).Спасибо за помощь.
Я думаю, что вы должны аннотировать вашу декларацию kotlin с помощью
@JsModule("<module_name>") // seems like it is App external fun myFun()
и установить модуль вида umd в скрипте gradle, как это
umd
compileKotlin2Js.kotlinOptions.moduleKind = "umd"