在Kotlin 1.2.61中,可能存在从kotlin-jvm模块到kotlin-js模块的Gradle依赖项。
这对于将生成的js文件包含在独立的jar中以用作静态资源很有用。
但是,从Kotlin 1.2.70版本开始,存在一项限制,该限制可以阻止将Kotlin-jvm模块与kotlin-js模块之间的依赖关系添加,请参见:issue。
确保在kotlin-jvm模块之前构建kotlin-js模块的受支持方式是什么,以便可以将kotlin-js dist文件包含在kotlin-jvm模块中(大概不添加依赖项)他们之间)?
答案 0 :(得分:1)
回答自己的问题,结果表明不赞成使用Kotlin前端插件,并且受支持的解决方案是使用Multiplatform插件。
我能够使其与Kotlin Gradle DSL一起使用,并具有Spring Boot后端(包括能够从IDE进行调试)和热重载React前端: https://github.com/alexoooo/sample-multiplatform-boot-react
proj-jvm build.gradle.kts声明对proj-js模块的依赖项:
tasks.withType<ProcessResources> {
val jsProject = project(":proj-js")
val task = jsProject.tasks.getByName("browserProductionWebpack") as KotlinWebpack
from(task.destinationDirectory!!) {
into("public")
}
dependsOn(task)
}
请注意,Kotlin多平台项目目前仍处于试验阶段,随着引入新的IR,某些细节可能会发生变化:https://blog.jetbrains.com/kotlin/2020/03/kotlin-1-4-m1-released/