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
相关产品推荐
相关产品推荐

