gradle - Kotlin js 没有从 gradle 实现中获取依赖项(构建文件中的 npm 部分

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

我有一个 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

我错过了什么?

最佳答案

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

    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")

    }

关于gradle - Kotlin js 没有从 gradle 实现中获取依赖项(构建文件中的 npm 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59602634/

相关文章:

android - 如何设置完全离线的 Cordova 构建?

android - 我无法在android studio中添加此库:编译 'com.android.support:design:24.0.0'

Android:从 kotlin 合成迁移到数据绑定(bind)后无法切换可见性

android - 无法使用数据绑定(bind) Android 从 ViewModel 与 XML 通信

android - gradle buildscript 无法解析 buildSrc 中定义的对象

gradle - 让所有 gradle 子项目 'test' 任务依赖于 rootproject 'setup' 任务

java - 如何将代码从 gradle 任务配置步骤移至任务执行

kotlin - 动态(在运行时)调用数组的迭代器运算符函数

android - Jetpack 原型(prototype)数据存储 - 使用 Kotlin dsl 进行 gradle 配置

gradle - 如何使用 Gradle Kotlin DSL 设置 codecov?