gradle - Kotlin js 没有从 gradle 实现中获取依赖项(构建文件中的 npm 部分
问题描述
我有一个 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 包装器进行反应:
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")
}
推荐阅读
- css - MaterialIcons-Regular 应用任何 CSS *:first-letter 时的字体错误
- c# - 调整文本框的高度
- asp.net - 将应用程序部署到 AWS
- php - Paypal 接受印度卢比付款
- scala - 类是抽象的;不能在凿子上实例化错误
- php - 在 Woocommerce 中为本地取货运输方式设置百分比折扣
- django - 如何在Django中的应用程序内的单独目录中保留实用程序功能
- javascript - “请求的资源上不存在‘Access-Control-Allow-Origin’标头。” 发出“GET”请求时
- git - stash 中的更改不会应用于工作副本。为什么?
- c++ - 重新连接未按预期工作