我尝试在我的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,它可以很好地导入,我制作了这个文件:
@file:JsModule("@ckeditor/ckeditor5-react")
@file:JsNonModule
import react.*
external interface CKEditorProps : Props {
//...
}
@JsName("CKEditor")
external val CKEditor: ComponentClass<CKEditorProps>
接下来,我有我的ClassicEditor文件,虽然我已经尝试了许多其他方法:
@file:JsModule("@ckeditor/ckeditor5-build-classic")
@file:JsNonModule
@JsName("default")
external val ClassicEditor: Any
如果我将两者都打印到控制台,我会看到CKEditor是一个类,似乎导入正确。但是,ClassicEditor是未定义的。
ClassicEditor的文档在这里:https://ckeditor.com/docs/ckeditor5/latest/api/module_editor-classic_classiceditor-ClassicEditor.html
我已经检查了gradle依赖项,以确保依赖项存在。
+--- @ckeditor/ckeditor5-react:5.1.0 (n)
\--- @ckeditor/ckeditor5-build-classic:36.0.1 (n)
我尝试过使用external class
或其他类型,包括dynamic
、ComponentClass
、FC
等。
我认为@JsName应该是default
,但我也尝试过使用ClassicEditor
。
我对kotlin-js非常陌生,所以我可能错过了一些上下文,但我在网上搜索答案时没有运气。
1条答案
按热度按时间3zwjbxry1#
我不知道为什么,但是从注解中删除
file:
已经修复了它。而不是