Kotlin JS ошибка клиента Ktor, разрешающего 'fs' - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь создать приложение Kotlin JS для браузера.

Я не хочу запрашивать REST API с Ktor Client, Kotlin Сериализация и сопрограммы. Мой build.gradle.kts выглядит следующим образом:

dependencies {
    val serializationVersion = "0.20.0"
    val ktorVersion = "1.3.1"
    implementation(kotlin("stdlib-js"))
    implementation("io.ktor:ktor-client-core:$ktorVersion")
    implementation("io.ktor:ktor-client-js:$ktorVersion")
    implementation("io.ktor:ktor-client-serialization-js:$ktorVersion")
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serializationVersion")
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$serializationVersion")
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-js:1.3.3")
    implementation(npm("abort-controller", "3.0.0"))
    implementation(npm("bufferutil", "4.0.1"))
    implementation(npm("utf-8-validate", "5.0.2"))
    implementation(npm("fs", "0.0.1-security"))
    implementation(npm("text-encoding", "0.7.0"))
}

kotlin.target.browser {
    dceTask {
        dceOptions {
            keep("ktor-ktor-io.\$\$importsForInline\$\$.ktor-ktor-io.io.ktor.utils.io")
        }
    }
}

Когда я пытаюсь запустить приложение, вызывая ./gradlew run, на консоли появляется следующая ошибка:

WARNING in /PATH_TO_PROJECT_DIRECTORY/build/js/packages_imported/ktor-ktor-client-core/1.3.1/ktor-ktor-client-core.js 16700:13-32
Critical dependency: the request of a dependency is an expression
 @ ./kotlin/MyProject.js
 @ multi ./kotlin/MyProject.js

ERROR in /PATH_TO_PROJECT_DIRECTORY/build/js/node_modules/node-gyp-build/index.js
Module not found: Error: Can't resolve 'fs' in '/PATH_TO_PROJECT_DIRECTORY/build/js/node_modules/node-gyp-build'
 @ /PATH_TO_PROJECT_DIRECTORY/build/js/node_modules/node-gyp-build/index.js 1:9-22
 @ /PATH_TO_PROJECT_DIRECTORY/build/js/node_modules/utf-8-validate/index.js
 @ /PATH_TO_PROJECT_DIRECTORY/build/js/node_modules/ws/lib/Validation.js
 @ /PATH_TO_PROJECT_DIRECTORY/build/js/node_modules/ws/lib/Receiver.js
 @ /PATH_TO_PROJECT_DIRECTORY/build/js/node_modules/ws/index.js
 @ /PATH_TO_PROJECT_DIRECTORY/build/js/packages_imported/ktor-ktor-client-core/1.3.1/ktor-ktor-client-core.js
 @ ./kotlin/MyProject.js
 @ multi ./kotlin/MyProject.js

I уже пытался удалить implementation(npm("fs", "0.0.1-security")), но это не имеет никакого значения.

У кого-нибудь есть подсказка?

Спасибо

1 Ответ

0 голосов
/ 12 марта 2020

Извините за предоставление достаточной информации о файле и проекте gradle. Я смог решить эту проблему, понизив сериализацию версии до 0.14.0. который поддерживается клиентом ktor.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...