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