Intereting Posts
Kapt не работает с AutoValue в Android Studio 3.0 Программирование создания пейджера представления в панели вкладок, но просмотр содержимого пейджера прокручивается через вкладки Прочитайте CSV-строку в Kotlin В Kotlin, как я идиоматически обращаюсь к значениям вложенной карты с нулевым значением или возвращать значение по умолчанию? Kotlin для assertThat (foo, instanceOf (Bar.class)) Val не может переназначить ошибку времени компиляции для локальной переменной в fun в kotlin Может ли класс данных Kotlin иметь более одного конструктора? Как добавить несколько исторических данных в GoogleFit как запустить скомпилированный файл класса в Котлине? Реализация пространства настойчивости в Котлине Гарантирован порядок вызовов внутри конструктора Царство, возвращающее устаревшие данные Возвращение null от fun в kotlin Ошибка Gmail «Не удалось подключить файл» Преобразование единиц измерения в километры до миль не возвращает ожидаемый результат

Компилировать код kotlin как для JVM, так и для JavaScript

Мне очень нравится идея кодирования рамки один раз, а затем возможность скомпилировать ее как jvm-байтовый код, так и javascript для использования в Интернете.

Возможно ли это с помощью компилятора kotlin?

Это возможно, но вы можете столкнуться с некоторыми трудностями. Прежде всего, вы можете создавать и настраивать его только с помощью Maven: просто настройте оба исполнения. Вторая проблема заключается в том, что IDE не может обрабатывать несколько целей, поэтому вы можете использовать трюки для включения / отключения библиотеки stdlib / kotlin-js

Вы можете увидеть его на странице https://github.com/Kotlin/kotlinx.html.

Это многомодульный проект. Модуль jvm только скомпилирован для JVM, модуль js только для javascript, модуль, общий для обоих

Обратите внимание на профили maven: при редактировании общего модуля вы можете включить js или jvm, но не оба: иначе IDE сойдет с ума. Во время компиляции оба профиля активны по умолчанию, поэтому вы получите многозарядную банку

В течение некоторого времени это вызовет проблемы. Однако идея очень хорошая, поэтому люди продолжают спрашивать.

Проверьте мой проект https://github.com/C06A/KUrlet, где я сделал именно это: включил общий код в корневом уровне и включил его исходный каталог в свойство sourceSets каждого подмодуля (один таргетинг JVM и один JS) ,