我有ReactNative项目,我试图从Kotlin调用简单的JS函数(从JS调用Kotlin工作正常)。我的项目目录如下所示:
“shared”模块编译为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")
}
所以我试图从Kotlin调用myFun()来获取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
但我不确定如何使用这些注释(如果需要它们?)。
谢谢你的帮助。
答案 0 :(得分:1)
我认为你应该用
注释你的kotlin声明@JsModule("<module_name>") // seems like it is App
external fun myFun()
并在gradle sript中设置模块类似于umd
,如此
compileKotlin2Js.kotlinOptions.moduleKind = "umd"