CKEditor5 + vue2.0 富文本编辑器 图片上传、highlight等用法

  因业务需求,要在 vue2.0 的项目里使用富文本编辑器,经过调研多个编辑器,CKEditor5 支持 vue,遂采用。因 CKEditor5 文档比较少,此处记录下引用和一些基本用法。

CKEditor5官网

https://ckeditor.com/docs/ckeditor5/latest/builds/guides/overview.html

CKEditor5 引入

  有四种编辑器可供下载,根据自己的需求选择,因为开发需求需要颜色笔,所以采用 Document editor。

  如果之前有用 Classic 版本的,在下载 Document 版本时需要 uninstall Classic,额,好像是句废话,但是我用的时候 uninstall Classic好多次才卸载掉。

  

  1. 根据官网提示,采用 npm 引入CKEditor5,地址:https://ckeditor.com/ckeditor-5/download/。根据提示 copy 命令执行:

npm install --save @ckeditor/ckeditor5-build-decoupled-document

  

  2. router/index.js 引入 CKEditor

  

  3. 在使用的页面引入,需要中文的可引入 zh-cn.js 文件

import DecoupledEditor from ‘@ckeditor/ckeditor5-build-decoupled-document‘
import ‘@ckeditor/ckeditor5-build-decoupled-document/build/translations/zh-cn.js‘

  4. html 页面写入 <ckedtior> 标签

<ckeditor id="editor" :editor="editor" @ready="onReady" v-model="content" :config="editorConfig"></ckeditor>

说明:

  v-model = "content"  获取编辑器里输入的内容;

  :config = "editorCnfig" 需要配置的项;

  @ready = "onReady"  编辑器初始化

  5.  js 部分

import DecoupledEditor from ‘@ckeditor/ckeditor5-build-decoupled-document‘
import ‘@ckeditor/ckeditor5-build-decoupled-document/build/translations/zh-cn.js‘

DecoupledEditor
  .create(document.querySelector(‘#editor‘), {
  }).then(editor => {
    // 打印所有的配置项
    // console.log(‘》》》》‘, Array.from( editor.ui.componentFactory.names() ) );
  }).catch(error => {
    console.error(error)
  })

export default {
  data: () => ({
    editor: DecoupledEditor,
    editorConfig: {
      toolbar: [‘heading‘, ‘fontSize‘, ‘highlight‘, ‘highlight:yellowMarker‘, ‘highlight:greenMarker‘, ‘highlight:pinkMarker‘, ‘highlight:blueMarker‘, ‘fontFamily‘, ‘alignment‘, ‘imageUpload‘, ‘bold‘, ‘italic‘, ‘underline‘, ‘imageStyle:full‘, ‘imageStyle:alignLeft‘, ‘imageStyle:alignRight‘, ‘link‘, ‘undo‘, ‘redo‘],
      fontSize: {
        options: [8, 9, 10, 11, 12, ‘default‘, 14, 16, 18, 20, 22, 24, 26, 28, 36, 44, 48, 72],
      },

     highlight: {

      options: [

        { model: ‘blackPen‘, class: ‘pen-black‘, title: ‘黑色‘, color: ‘var(--ck-highlight-pen-black)‘, type: ‘pen‘ },

        { model: ‘redPenPen‘, class: ‘pen-red‘, title: ‘红色‘, color: ‘var(--ck-highlight-pen-red)‘, type: ‘pen‘ },

     }    },    ckfinder: {      uploadUrl: `${store.getters.currentStack.baseURL}/ckeditor/upload`,

      // 后端处理上传逻辑返回json数据,包括uploaded 上传的字节数 和url两个字段

     },

    }
  })
}
    

说明:

1. DecoupledEditor.create(document.querySelector(‘#editor‘), {})此处代码可省略,除非你想打印出所有的配置项。2. toolbar 配置工具栏3. fontSize 字体 default 默认字体4. highlight :配置字体颜色和高亮。详细的写法可参考:https://ckeditor.com/docs/ckeditor5/latest/features/highlight.html   (默认只有三四种颜色,谷歌搜“CKEditor5 highlight” ,第一条出来了,CKEditor 中文的文档很少,不要抗拒英文文档,逃离舒适区,也对自己说哈哈)

  

图片上传问题

  文中标红的地方,是配置图片上传,只需要填写上传图片的后台接口,注意,后台返回的字段必须包括 uploaded 上传的字节数 和 url 两个字段,不然一直会 alert 提示框报错。

这里有篇更为详细的图片上传文章:https://www.jianshu.com/p/47e25447b771

原文地址:https://www.cnblogs.com/zhangym118/p/10333117.html

时间: 2024-10-20 10:03:28

CKEditor5 + vue2.0 富文本编辑器 图片上传、highlight等用法的相关文章

uedit 富文本编辑器 图片上传 图片服务器

uedit设置 修改uploader 类   源代码这个注释 $url = "upimg.com/uploadImg.php"; $tmpName = $file['name']; //上传上来的文件名 $tmpFile = $file['tmp_name']; //上传上来的临时存储路径 $tmpType = $file['type']; //上传上来的文件类型 $folder = 'goods_uedit'; //存储路径 //执行上传 $data = json_decode($t

类百度富文本编辑器文件上传。

在项目安开发中,有一个需求是用户需上传特定的text文件,根据此文件判断设备的状态. 以上是需求,此时需要在页面上用到文件上传的功能,原始的文件上传样式不好看,自己此段时间一直都在用layui前端框架写页面,本想用layui官网上给的文件上传功能的,但是经理说上传的文件不能只显示文件名, 还要配上一张图片.layui上传文件的模式都是: 显然这个版本的文件上传还没有符合项目的需要. 在接下来的对比中,看到了百度富文本编辑器的文件上传和图片上传样式:       因为这个功能是在百度富文本编辑器工

VUE2.0+VUE-Router做一个图片上传预览的组件

之前发了一篇关于自己看待前端组件化的文章,但是由于学习和实践的业务逻辑差异,所以自己练习的一些demo逻辑比较简单,打算用vue重构现在公司做的项目,所以在一些小的功能页面上使用vue来做的,现在写的这个是项目中用户反馈功能而来的,收获还是挺多的. 收获:dom操作=>数据操作       router的使用       组件的使用,具体总结放在尾部. 功能:1.上传图片 2.显示缩略图 3.可以删除 4.可以重新选择文件 先上成品图(主要抽取图片这块),自己在家主要做的功能,样式就不计较了.

【HTML5+MVC4】XhEditor网页编辑器图片上传

1.定义模板RichText.cshtml 文件路径:Views/Shared/EditorTemplates/ <textarea id="@ViewData.ModelMetadata.PropertyName" name="@ViewData.ModelMetadata.PropertyName" rows="30" cols="80" style="width: 96%">@Model&

laravel富文本编辑和图片上传

---恢复内容开始--- 首先先找到一个适合的编辑器是胜利的一步,选择wangEditor这个编辑器 地址:http://www.wangeditor.com/ 然后选择下载,我是通过网上学习的,所以直接选择的是2.1.23下载 下载后,将dist中的js/css/fonts,放到public文件夹下 当然后面我们需要查看文档中的信息 地址:https://www.kancloud.cn/wangfupeng/wangeditor2/113965 下一步: 我们需要把js/css引入html页面

tp5.0整合七牛云图片上传

转:https://www.cnblogs.com/adobe-lin/p/7699638.html 这里以上传图片为例 上传其他文件也是大同小异 使用composer安装gmars/tp5-qiniu 安装成功则在vendor目录下多出一个目录 这个目录含有整合七牛云的所有类包等文件 控制器中添加upload方法 public function upload() { if(request()->isPost()) { $qiniu = new \gmars\qiniu\Qiniu('你的ak'

kindeditor富文本框,上传文件后,显示文件名称

kindeditor作为一个应用广泛富文本框,我们经常会利用到它,然而在使用的过程中,发现有的地方使用起来很不方便,例如本文要说的,用户上传文件之后,默认只有文件URL,没有文件说明,如图: 点击确定之后,内容中显示的只是一串很长的地址,这并不是我们想要的. 更多的时候,我们只是希望它这里能默认显示文件名称,只有在文件说明里,填写了文件名称,在内容里面才会以名称的形式呈现.这个时候,我们就要给它做个小手术,来完善它,下面贴出代码: 1.修改asp.net/upload_json.ashx文件,大

yii2 ueditor-百度编辑器图片上传七牛云

1.编辑器使用的是裤衩哥的小部件,没有安装的使用composer安装 php composer.phar require kucha/ueditor "*" 附上github的地址:https://github.com/BigKuCha/yii2-ueditor-widget 2.安装七牛官方SDK php composer.phar require qiniu/php-sdk 附上github的地址:https://github.com/qiniu/php-sdk 裤衩百度编辑器的使

关于Discuz!nt论坛编辑器图片上传bug,flash域的问题

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流