You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin Gradle多平台项目无法生成Node.js产物问题排查

Kotlin React SSR Node.js 构建配置问题解决

你的配置缺少产物输出到dist目录的分发配置,同时依赖声明顺序需要调整以确保版本一致性,以下是修正后的配置和说明:

修正后的 build.gradle.kts

plugins {
    kotlin("multiplatform")
}

repositories {
    mavenCentral()
}

val kotlinWrappersVersion: String = "1.0.0-pre.736"

kotlin {
    js {
        nodejs()
        binaries.executable()
        // 添加分发配置,指定输出目录为build/dist
        distributions {
            main {
                distributionDirectory.set(layout.buildDirectory.dir("dist"))
            }
        }
    }

    sourceSets {
        jsMain.dependencies {
            // 先声明强制版本BOM,确保所有wrapper依赖版本统一
            implementation(project.dependencies.enforcedPlatform("org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom:$kotlinWrappersVersion"))
            implementation("org.jetbrains.kotlin-wrappers:kotlin-react")
            implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom")
        }
    }
}

关键修改点

  • 添加distributions配置块:明确指定将可执行产物输出到build/dist目录,这是Kotlin JS Node.js目标生成可分发包的必要配置
  • 调整依赖顺序:将enforcedPlatform放在最前面,确保所有Kotlin wrapper依赖的版本被BOM统一管控,避免版本冲突

正确构建命令

执行以下命令替代build,确保触发分发包生成:

./gradlew renderBrowserApp:installDist

执行完成后,renderBrowserApp/build/dist目录会生成包含编译后JS文件、依赖包的完整可执行环境,你可以直接在该目录下运行node main.js测试SSR输出。

内容的提问来源于stack exchange,提问作者mdornfe1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 02:43:20