在Kotlin 1.2.61中,可能存在从kotlin-jvm模块到kotlin-js模块的Gradle依赖。
这对于将生成的js文件包含在自包含的jar中以将其作为静态资源提供非常有用。
但是,从Kotlin 1.2.70开始,有一个限制阻止将依赖项从kotlin-jvm模块添加到kotlin-js模块,请参阅:issue。
什么是确保kotlin-js模块在kotlin-jvm模块之前构建的受支持的方法,以便kotlin-js dist文件可以包含在kotlin-jvm模块中(假设不添加它们之间的依赖关系)?
发布于 2020-04-15 22:28:20
回答自己的问题时,发现Kotlin前端插件已被弃用,支持的解决方案是使用多平台插件。
我能够让它在Kotlin Gradle DSL上工作,有一个Spring Boot后端(包括能够从集成开发环境中调试)和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/
https://stackoverflow.com/questions/53587141
复制相似问题