CKEditor5 在vue3项目的使用实践

814 阅读2分钟

一步一个坑,官网介绍第一是英文,第二不全,第三等你按照教程来发现还有很强的滞后性。第二点网上搜的文章也是一言难尽,感觉都是原封不动的抄或者说是一篇文章多个平台复制粘贴。

第一步

我在项目中使用的是classic,那么我就依此梳理

基础不再多说,如果官方示例满足你的需求,那么直接一步一步的来,引入@ckeditor/ckeditor5-build-classic,然后create。

我的项目中,我想使用一个aligent 和 imageResize  插件,但是官方提供的包不支持,直接config.plugins 方法不行,会报错包重复。这时候需要我们自己 build,这里记住已经不要git clone  github上的包来build,我试了依然会有版本问题。点击 这里 自己去勾选plugin, 然后下载,这样能保证都是最新的,我使用时是  40.2.0,解压后 build 文件夹就是我们使用的,在这个包中我们还可以自己修改一些插件,然后执行 build 指令即可。

第二步

接下来在项目中使用,我的项目是 vue3,安装对应的 vue 组件

 npm install --save @ckeditor/ckeditor5-vue 

这里网上大多数都是全局引用的教程,事实上大多数都不是全局引用,组件引入后使用的是CKEditor.component

import CKEditor from "@ckeditor/ckeditor5-vue"; 

<CKEditor.component> </CKEditor.component>

接下来是重头戏,如何使用我们自定义的编辑器(第一步 build 文件夹)拖入我们的项目。

我看  build/ckeditor.js  文件时两个自执行函数。上一个是负责语言显示的,比如我选择是中文。上面一个应该是 编辑器的相关逻辑了。

这里我直接引入  会报错 ckeditor.js does not provide an export named 'default'  这个好解释

但是我在build 文件夹 npm intall 一下就可以正常使用了,这里****我不知道啥原因,希望有人能帮我解答

接下来就可以使用了

<CKEditor.component editor={ClassicEditor} v-model={content.value}>
</CKEditor.component>