Koltin 多平台多模块 JVM/JS 项目设置

问题描述

我需要将现有的多模块 jvm 项目转换为多平台项目。

//Exisiting Modules: (JVM Project)
core
data
app
app_server
utils
db
//Need to add:
app_frontend (Kotlin/JS)

需要在JVM和JS之间共享数据模块 提前致谢。

解决方法

我假设您想在 JVM 和 JS 之间共享您的数据模块。为此,您的数据模块必须是针对 JVM 和 JS 的多平台项目。最基本的设置是:

// build.gradle.kts

plugins {
    kotlin("multiplatform")
}

group = "data"

kotlin {
    jvm()
    js { browser { binaries.executable() } }

    sourceSets["commonMain"].dependencies {
        // Your dependencies...
    }
}

其他模块可以使用针对特定平台的“常规”插件构建,因此您的 JVM 模块不需要任何调整。 JS 的基本设置是:

plugins {
    id("org.jetbrains.kotlin.js")
}

group = "app_frontend"

dependencies {
    implementation(project(":data"))
    implementation(kotlin("stdlib-js"))
}
kotlin {
    js {
        browser { binaries.executable() }
    }
}

另请查看有关多平台编程的官方文档:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...