【问题标题】:Kotlin js isn't picking up dependencies from gradle implementation(npm section in build fileKotlin js 没有从 gradle 实现中获取依赖项(构建文件中的 npm 部分
【发布时间】:2020-04-23 10:30:41
【问题描述】:

我有一个 Kotlin JS 项目,我正在尝试通过 Gradle 添加一些 npm 依赖项。我的理解是我必须将 npm deps 添加到此源集的依赖项中,如下所示:

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

repositories {
    mavenCentral()
    jcenter()
}

kotlin {

    sourceSets["main"].dependencies {
        implementation(npm("react", "16.8.3"))
        implementation(npm("@jetbrains/kotlin-css", "1.0.0-pre.89"))
        implementation(npm("@jetbrains/kotlin-css-js", "1.0.0-pre.89"))
        implementation(npm("@jetbrains/kotlin-styled", "1.0.0-pre.89"))
        implementation(npm("react-google-charts"))

    }
    target {

       browser {

       }
    }
}

dependencies {
    implementation(kotlin("stdlib-js"))
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-js:1.3.2")
}

}

但是我的源代码无法编译,例如所有这些导入都无法编译:

import kotlinx.html.js.onClickFunction
import react.RBuilder
import react.dom.button
import react.dom.div

我可以看到所有 npm 模块都下载到 build/js/node_modules 中

我错过了什么?

【问题讨论】:

    标签: gradle kotlin gradle-kotlin-dsl kotlin-js


    【解决方案1】:

    您应该使用 kotlin 包装器进行反应:

        sourceSets["main"].dependencies {
            implementation(npm("@jetbrains/kotlin-react", "16.9.0-pre.89"))
            implementation(npm("@jetbrains/kotlin-react-dom", "16.9.0-pre.89"))
    
    
            implementation(npm("@jetbrains/kotlin-css", "1.0.0-pre.89"))
            implementation(npm("@jetbrains/kotlin-css-js", "1.0.0-pre.89"))
            implementation(npm("@jetbrains/kotlin-styled", "1.0.0-pre.89"))
            implementation(npm("react-google-charts"))
    
            implementation("org.jetbrains.kotlinx:kotlinx-html-js:0.6.12")
    
        }
    

    【讨论】:

    • 谢谢我只是缺少依赖项
    猜你喜欢
    • 2017-11-11
    • 1970-01-01
    • 2020-08-27
    • 2022-10-14
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多