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

如何在Kotlin多平台/JS项目中给Node.js传递自定义命令行参数?

Kotlin多平台JS测试配置Node.js自定义运行参数

这个需求完全可行,通过Gradle Kotlin JS DSL可以直接为Node.js测试运行器添加自定义命令行参数,包括你需要的--expose-gc标志。

具体实现方式

以下是两种常用的配置方式,根据你的项目结构选择即可:

方式1:在JS目标的测试块中直接配置

如果你的项目在Kotlin多平台块中定义了JS目标,可以直接在test块内指定Node.js运行器的参数:

kotlin {
    js(IR) {
        nodejs() // 启用Node.js目标
        binaries.executable()

        test {
            useNodeJs {
                // 添加Node.js运行时参数
                nodeOptions.add("--expose-gc")
            }
        }
    }
}

方式2:全局匹配所有JS测试任务

如果需要为所有JS测试任务统一配置参数,可以通过任务类型匹配的方式设置:

tasks.withType<org.jetbrains.kotlin.gradle.targets.js.testing.node.KotlinNodeJsTest> {
    nodeOptions.add("--expose-gc")
}

验证配置生效

配置完成后,运行JS测试任务时,Gradle会自动启动带有--expose-gc参数的Node.js进程。此时你可以在测试代码中通过以下方式触发垃圾回收:

import kotlin.js.ExperimentalJsExport
import kotlin.js.JsName

@OptIn(ExperimentalJsExport::class)
@JsName("gc")
external fun gc()

// 在测试中调用
@Test
fun testGcTrigger() {
    gc()
    // 执行后续断言逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:58:34