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

Kotlin/JS引入npm包ClassicEditor时external val为undefined问题

Kotlin/JS中导入CKEditor ClassicEditor出现undefined的问题

我正在用Kotlin/JS开发,想集成CKEditor的React组件。在JavaScript里,正常的导入写法是这样的:

import { CKEditor } from '@ckeditor/ckeditor5-react';
import ClassicEditor from '@ckeditor/ckeditor5-build-classic';

我已经在build.gradle.kts里配置好了依赖:

implementation(npm("@ckeditor/ckeditor5-react","5.1.0"))
implementation(npm("@ckeditor/ckeditor5-build-classic", "36.0.1"))

CKEditor组件的导入是正常的,对应的Kotlin声明文件我是这么写的:

@file:JsModule("@ckeditor/ckeditor5-react")
@file:JsNonModule

import react.*

external interface CKEditorProps : Props {
    // 定义所需属性
}

@JsName("CKEditor")
external val CKEditor: ComponentClass<CKEditorProps>

但ClassicEditor一直返回undefined,我试了好几种声明方式,现在的代码是:

@file:JsModule("@ckeditor/ckeditor5-build-classic")
@file:JsNonModule

@JsName("default")
external val ClassicEditor: Any

我尝试过用external class、dynamic等不同类型,也换过@JsName的取值,Gradle依赖也确认存在了,控制台打印CKEditor是正常的,但ClassicEditor始终是undefined。作为Kotlin/JS新手,实在找不到解决办法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 08:42:39