依赖项在 Kotiln/JS 中不可用
Dependency not available in Kotiln/JS
我正在尝试在 Kotlin/JS 项目中使用名为 KSVG 的库。维护者已尝试设置 K/JS 支持,但无法正常工作。在 IntelliJ 中,我将以下存储库和依赖项添加到我的 build.gradle.kts
:
repositories {
jcenter()
}
dependencies {
implementation(kotlin("stdlib-js"))
implementation("com.github.nwillc", "ksvg", "2.2.0")
}
没有显示错误,并且 IDE 出现 以正确加载依赖项,但它根本没有暴露在我的代码库中。有没有办法查看 为什么 此依赖项失败?库是否存在明显的问题阻止它在 K/JS 中工作?
K/JS 依赖关系类似于 K/JVM 依赖关系。通过将它们添加到您使用的 gradle 项目并编译它们。但是对于 运行 项目,您需要 运行 时间依赖性。 K/JVM 中的默认 run
任务会自动将 运行 时间依赖项添加到类路径中。但是,如果你想创建一个 jar,你必须手动执行此操作或创建一个 fat jar。
在 K/JS 中(对于浏览器,不确定 nodejs)它们不是包含 运行 时间依赖项的默认 运行 任务。您必须手动添加它们。他们有两种方法。
- 从
runtimeClasspath
任务中手动grep依赖js文件
- 使用 webpack 构建(类似于 fat jar 方法)
这是 webpack 构建的一个工作示例。 build
任务在 ./build/distributions/
处创建了人工制品。 (他们也是一个 run
在端口 8080 启动服务器的任务)
build.gradle.kts
plugins {
kotlin("js") version "1.3.72"
}
repositories {
mavenCentral()
maven("https://dl.bintray.com/nwillc/maven")
}
dependencies {
implementation(kotlin("stdlib-js"))
testImplementation(kotlin("test-js"))
implementation("com.github.nwillc:ksvg-js:3.0.0")
}
kotlin.target.browser {}
main.kt
import com.github.nwillc.ksvg.elements.SVG
import kotlin.browser.document
fun main() {
val svg = SVG.svg(false) {
circle {
cssClass = "black-stroke"
id = "face"
cx = "180"
cy = "140"
r = "80"
fill = "#aa450f"
}
}
document.write(svg.toString())
}
我正在尝试在 Kotlin/JS 项目中使用名为 KSVG 的库。维护者已尝试设置 K/JS 支持,但无法正常工作。在 IntelliJ 中,我将以下存储库和依赖项添加到我的 build.gradle.kts
:
repositories {
jcenter()
}
dependencies {
implementation(kotlin("stdlib-js"))
implementation("com.github.nwillc", "ksvg", "2.2.0")
}
没有显示错误,并且 IDE 出现 以正确加载依赖项,但它根本没有暴露在我的代码库中。有没有办法查看 为什么 此依赖项失败?库是否存在明显的问题阻止它在 K/JS 中工作?
K/JS 依赖关系类似于 K/JVM 依赖关系。通过将它们添加到您使用的 gradle 项目并编译它们。但是对于 运行 项目,您需要 运行 时间依赖性。 K/JVM 中的默认 run
任务会自动将 运行 时间依赖项添加到类路径中。但是,如果你想创建一个 jar,你必须手动执行此操作或创建一个 fat jar。
在 K/JS 中(对于浏览器,不确定 nodejs)它们不是包含 运行 时间依赖项的默认 运行 任务。您必须手动添加它们。他们有两种方法。
- 从
runtimeClasspath
任务中手动grep依赖js文件 - 使用 webpack 构建(类似于 fat jar 方法)
这是 webpack 构建的一个工作示例。 build
任务在 ./build/distributions/
处创建了人工制品。 (他们也是一个 run
在端口 8080 启动服务器的任务)
build.gradle.kts
plugins {
kotlin("js") version "1.3.72"
}
repositories {
mavenCentral()
maven("https://dl.bintray.com/nwillc/maven")
}
dependencies {
implementation(kotlin("stdlib-js"))
testImplementation(kotlin("test-js"))
implementation("com.github.nwillc:ksvg-js:3.0.0")
}
kotlin.target.browser {}
main.kt
import com.github.nwillc.ksvg.elements.SVG
import kotlin.browser.document
fun main() {
val svg = SVG.svg(false) {
circle {
cssClass = "black-stroke"
id = "face"
cx = "180"
cy = "140"
r = "80"
fill = "#aa450f"
}
}
document.write(svg.toString())
}