Kotlin 多平台多模块 JVM/JS 项目设置
Koltin Multiplatform Multi Module JVM/JS Project Setup
我需要将现有的多模块 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() }
}
}
另请查看有关多平台编程的官方文档:
我需要将现有的多模块 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() }
}
}
另请查看有关多平台编程的官方文档: