3

在 Kotlin 1.3.20 和 Gradle 4.10.2 中,可以在 Gradle 中使用以下内容热重载 js 文件:

task watch {
    inputs.files 'src/main'
    doLast {
        compileKotlin2Js.execute()
    }
}

但是,我们会收到以下警告:

此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 5.0 不兼容。

使用 Kotlin 1.3.20 / Gradle 5.1.1,弃用警告消失,但 compileKotlin2Js.execute() 导致以下错误:

指定为非空的参数为空:方法 org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute,参数输入

有没有办法使用 Kotlin 1.3.20 / Gradle 5.1.1 编译 Kotlin2Js.execute() 以热重载 js 文件?

4

1 回答 1

0

回答自己的问题,让 Kotlin 1.3.72 多平台项目与 Gradle 6.3 和 Kotlin DSL 一起工作:https ://github.com/alexoooo/sample-multiplatform-b​​oot-react

开发时,有两个过程:

  1. 来自 IDE 的 Java 后端,运行:--server.port=8081
  2. 带热重载的 Webpack 代理:gradlew -t :proj-js:run

请注意,Kotlin 多平台项目目前处于试验阶段,随着新 IR 的引入,一些细节可能会发生变化:https ://blog.jetbrains.com/kotlin/2020/03/kotlin-1-4-m1-released /

于 2020-04-15T14:37:32.770 回答