Kotlin Мультиплатформа: скомпилируйте Kotlin до JS, затем используйте JS методы - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть Kotlin мультиплатформенная настройка, включая JS и Java часть. В общей папке я написал пару методов, которые должны быть скомпилированы в js. Например:

class test {
    init {
         println("this is completely working")
     }
}

Теперь, когда я строю свой проект, в папке JS -exclusive создается папка node_modules, включая приведенный выше пример (хотя я ожидал, что Kotlin преобразует println до console.log, чего не было). Теперь я хотел бы включить этот файл и его метод для другого файла JS для чтения. Как это можно сделать? К сожалению, по этим многоплатформенным темам не так много документации, и я изо всех сил стараюсь сделать самые основные c дела.

1 Ответ

0 голосов
/ 24 апреля 2020

Вам необходимо загрузить скрипт, сгенерированный компилятором Kotlin / JS.

Оба SharedCode. js и BluetoothSerial. js сгенерированы компилятором Kotlin / JS.

<head>
    <title>WebView Callback Demo</title>
    <script src="js/kotlin.js"></script>
    <script src="js/SharedCode.js"></script>
</head>

<body>
    <div id="root">
    </div>
    <script src="js/BluetoothSerialJs.js"></script>

</body>

https://github.com/darran-kelinske-fivestars/cordova-alternative-pattern/blob/3208b24b839db6f01a27d0d5fda15cd80a4a0d12/app/src/main/assets/index.html#L4 -L15

Затем можно вызвать функции javascript, которые были сгенерированы следующим образом:

PackageName.Module .Function () <- вам может понадобиться включить имя класса </p>

com.fivestars.bluetooth.BluetoothSerial.configureChannel()

Пример проекта находится здесь:

https://github.com/darran-kelinske-fivestars/cordova-alternative-pattern

...