【问题标题】:IntelliJ Project "JS Client and JVM Server | Gradle" does not workIntelliJ 项目“JS 客户端和 JVM 服务器 | Gradle”不起作用
【发布时间】:2019-12-11 19:25:39
【问题描述】:

当我使用 Intellij Ultimate 2019.2 创建指定的项目类型时

然后构建项目(F11)

出现以下错误:

但是,当我运行 SampleJvm.kt 时:

Netty 启动,一切似乎都很好。 不幸的是,代码无法正常工作:

问题似乎是后端找不到 编译后的 testy.js,应该作为资源加载 然后添加到 HTML 站点:

我上传了项目以供下载: https://file.io/Jj50Ow

非常感谢您的任何建议, 最好的克里斯

【问题讨论】:

    标签: gradle intellij-idea kotlin netty ktor


    【解决方案1】:

    js文件生成并打包在一个jar文件中,但是JVM服务器对那个jar文件没有依赖,因此生成404。

    打开build.gradle文件并滚动到底部,将jsJar添加到dependsOn和classpath:

    task run(type: JavaExec, dependsOn: [jvmJar, jsJar]) {
        group = "application"
        main = "sample.SampleJvmKt"
        classpath(configurations.jvmRuntimeClasspath, jvmJar, jsJar)
        args = []
    }
    

    然后你就可以用 gradle 运行应用了。

    【讨论】:

      【解决方案2】:

      目前,新的项目生成器无法正确处理多平台项目。

      有一个工作示例,在后端使用 Ktor,在前端使用 React,包括用于 UI 开发的热重载: https://github.com/Kotlin/kotlin-full-stack-application-demo

      我能够让它与 Kotlin Gradle DSL 一起使用,带有 Spring Boot 后端(包括能够从 IDE 调试)和 React 前端的热重载: https://github.com/alexoooo/sample-multiplatform-boot-react

      请注意,Kotlin 多平台项目目前处于试验阶段,一些细节可能会随着新 IR 的引入而改变:https://blog.jetbrains.com/kotlin/2020/03/kotlin-1-4-m1-released/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-11
        • 1970-01-01
        • 2019-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多