位置: IT常识 - 正文

CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily(vue2editor)

编辑:rootadmin
CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily 基本使用

推荐整理分享CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily(vue2editor),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue ckeditor5,vue editorconfig,vue editormd,vue ckplayer,vue ckplayer,vue ckeditor5,vue editormd,vue ckeditor,内容如对您有帮助,希望把文章链接给更多的朋友!

官网地址:https://ckeditor.com/ckeditor-5/online-builder/ 官网提供了以下几种模式,一般使用经典模式居多,具体差别可访问官网自己试一下。

基本的使用方法(经典模式),先别急着操作,看完再决定使用哪种方法。

//下载ckeditor5-vuenpm install @ckeditor/ckeditor5-vue//下载经典模式npm install @ckeditor/ckeditor5-build-classic代码<template> <div id="ckeditor"> <ckeditor ref="editorRef" v-model="editorDesign" :editor="editor" :config="editorConfig" :disabled="disabled" @ready="onEditorReady" @focus="onEditorFocus" @blur="onEditorBlur" @input="onEditorInput" @destroy="onEditorDestroy" ></ckeditor> </div></template><script setup>import { ref, reactive } from 'vue'import ClassicEditor from '@ckeditor/ckeditor5-build-classic'import '@ckeditor/ckeditor5-build-classic/build/translations/zh-cn.js' //引入中文包const props = defineProps({ disabled: { type: Boolean, default: false, //是否禁用 },})const editor = ClassicEditorconst editorDesign = ref('') //默认内容const editorConfig = reactive({ language: 'zh-cn', toolbar: { items: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', '|', 'outdent', 'indent', '|', 'imageUpload', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo'], }, language: 'zh', image: { toolbar: ['imageTextAlternative', 'toggleImageCaption', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side'], }, table: { contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells'], }, ckfinder: { uploadUrl: `/uploadfile`, // 上传图片接口 options: { resourceType: 'Images', }, },})const emit = defineEmits(['ready', 'focus', 'blur', 'input', 'destroy'])const editorRef = ref(null)const onEditorReady = () => { console.log('准备好了') emit('ready')}const onEditorFocus = () => { console.log('聚焦') emit('focus')}const onEditorBlur = () => { console.log('失去焦点') emit('blur')}const onEditorInput = () => { console.log('正在录入') emit('input')}const onEditorDestroy = () => { console.log('销毁') emit('destroy')}</script><style lang="scss">#ckeditor { .ck-editor__editable { min-height: 100px; max-height: 500px; }}</style>效果如图

以上基本的工具栏配置比较少,如果基本的满足你的需要,可直接使用如上的方法。

我想要添加更多的工具栏。 以下是我的踩坑经历,我想要一个字体的工具栏,直接下载了字体的依赖

npm i @ckeditor/ckeditor5-font引入import FontColor from '@ckeditor/ckeditor5-font/src/fontcolor.js';import FontFamily from '@ckeditor/ckeditor5-font/src/fontfamily.js';import FontSize from '@ckeditor/ckeditor5-font/src/fontsize.js';

然后直接报错Uncaught CKEditorError:ckeditor-duplicated-modules Read more … 文档说明 大概意思就是重复安装了一些模块,因此以上方法行不通。

更多新工具栏使用方法CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily(vue2editor)

如果想要多工具栏的,直接按照如下方法操作。第一种基本使用方法可不操作。

先说一下操作思路,在@ckeditor/ckeditor5-build-classic代码的基础上,添加新工具栏,然后上传打包后的包到私服或者放到项目目录里。

官网去设置工具栏 官网地址:https://ckeditor.com/ckeditor-5/online-builder/ 1、这里我使用的是第一个经典模式classic

2、这一步操作,可以直接在下面的工具栏中add想要的工具栏。带☆的是收费的。在默认的基础上我又添加了几种。

3、把上面的工具栏添加到下面的可以看效果

4、选择第二个Chinese语言包

5、start生成包并下载 6、下载下来之后,在package.json里面可以看到这些依赖就是刚才我们选择的。build文件就是咱们项目中用到的包。 目前已经有的工具栏就是刚才选择的。如果需要增加新的工具栏,在当前目录执行如添加字体 npm i @ckeditor/ckeditor5-font -D,然后在src/ckeditor.js文件引入,添加到builtinPlugins,defaultConfig

最后执行npm run build打包,重新生成的build文件夹,就是最新的包,把这个包直接放在项目目录里,或者上传到私服都可以。

我这里是上传到了私服,package.json如下配置,package.json的name自己重新命名一下。private改为false。 publishConfig为上传的私服地址

使用npm install @ckeditor/ckeditor5-vue//下载私服上的包npm install @custom/ckeditor5-custom-build

实际项目中的用法和前面的基本方法一样,只需要更新一下toolbar里面的配置和引入的路径名称。 代码:

<template> <div id="ckeditor"> <ckeditor ref="editorRef" v-model="editorDesign" :editor="editor" :config="editorConfig" :disabled="disabled" @ready="onEditorReady" @focus="onEditorFocus" @blur="onEditorBlur" @input="onEditorInput" @destroy="onEditorDestroy" ></ckeditor> </div></template><script setup>import { ref, reactive } from 'vue'import ClassicEditor from '@custom/ckeditor5-build-classic'import '@customr/ckeditor5-build-classic/build/translations/zh-cn.js' //引入中文包const props = defineProps({ disabled: { type: Boolean, default: false, //是否禁用 },})const editor = ClassicEditorconst editorDesign = ref('') //默认内容const editorConfig = reactive({ language: 'zh-cn', toolbar: { items: ['heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', '|', 'outdent', 'indent', '|', 'imageUpload', 'blockQuote', 'insertTable', 'mediaEmbed', 'undo', 'redo','|','fontColor','fontFamily','fontSize','fontBackgroundColor',], }, //自定义设置字体 fontFamily: { options: [ 'default', '宋体', '新宋体', '仿宋', '楷体', '微软雅黑', '黑体', '华文仿宋', '华文楷体', '华文隶书', '华文宋体', '华文细黑', '华文新魏', '华文行楷', '华文中宋', '隶书', '苹方 常规', '幼圆', ], }, language: 'zh', image: { toolbar: ['imageTextAlternative', 'toggleImageCaption', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side'], }, table: { contentToolbar: ['tableColumn', 'tableRow', 'mergeTableCells'], }, ckfinder: { uploadUrl: `/uploadfile`, // 上传图片接口 options: { resourceType: 'Images', }, },})const emit = defineEmits(['ready', 'focus', 'blur', 'input', 'destroy'])const editorRef = ref(null)const onEditorReady = () => { console.log('准备好了') emit('ready')}const onEditorFocus = () => { console.log('聚焦') emit('focus')}const onEditorBlur = () => { console.log('失去焦点') emit('blur')}const onEditorInput = () => { console.log('正在录入') emit('input')}const onEditorDestroy = () => { console.log('销毁') emit('destroy')}</script><style lang="scss">#ckeditor { .ck-editor__editable { min-height: 100px; max-height: 500px; } //设置默认字体 .ck-editor__editable_inline p { font-family: '宋体' !important; }}</style>

CKEditor5设置默认字体,用的是css写法,这里尝试了config.font_defaultLabel = fontFamily这类写法,都没有用。最后用css实现的。

//设置默认字体 .ck-editor__editable_inline p { font-family: '宋体' !important; }
本文链接地址:https://www.jiuchutong.com/zhishi/278094.html 转载请保留说明!

上一篇:总结Linux中用于文本处理的awk、sed、grep命令用法(linux使用范围)

下一篇:琼斯海滩岛上的笛鸻和它的幼崽 (© Vicki Jauron/Getty Images)(琼斯的大海怪)

  • 抓住用户碎片时间推广 推广一天轻松突破10000+流量(用户碎片化)

    抓住用户碎片时间推广 推广一天轻松突破10000+流量(用户碎片化)

  • vivo手机怎么解除锁屏密码(vivo手机怎么解锁屏幕强制解除密码)

    vivo手机怎么解除锁屏密码(vivo手机怎么解锁屏幕强制解除密码)

  • redmi k30 5g配置(redmi k30 5g 测评)

    redmi k30 5g配置(redmi k30 5g 测评)

  • 微博如何私信别人(微博如何私信别人的评论)

    微博如何私信别人(微博如何私信别人的评论)

  • 华为如何修改应用名称(华为如何修改应用使用时间)

    华为如何修改应用名称(华为如何修改应用使用时间)

  • 此账号已不允许登录网页微信(此账号不允许选择校园网认证)

    此账号已不允许登录网页微信(此账号不允许选择校园网认证)

  • 淘宝频道专享红包怎么用(淘宝频道专享红包是什么意思)

    淘宝频道专享红包怎么用(淘宝频道专享红包是什么意思)

  • 苹果有锁机可以升级系统吗(苹果有锁机可以买吗)

    苹果有锁机可以升级系统吗(苹果有锁机可以买吗)

  • 6sp建议升级ios13吗(6sp建议升级ios12吗)

    6sp建议升级ios13吗(6sp建议升级ios12吗)

  • x20屏幕多大(x20手机屏幕多大几寸)

    x20屏幕多大(x20手机屏幕多大几寸)

  • 华为matebook充不进电(华为matebook充不进去电)

    华为matebook充不进电(华为matebook充不进去电)

  • kindle出现感叹号电池(kindle出现感叹号怎么开机)

    kindle出现感叹号电池(kindle出现感叹号怎么开机)

  • 手机屏起鼓有危险吗?(手机屏起鼓有危险吗视频)

    手机屏起鼓有危险吗?(手机屏起鼓有危险吗视频)

  • 怎么把两个文件压缩在一起(怎么把两个文件压缩成一个压缩包手机)

    怎么把两个文件压缩在一起(怎么把两个文件压缩成一个压缩包手机)

  • 11面容id识别不了(面容id识别不了怎么回事)

    11面容id识别不了(面容id识别不了怎么回事)

  • 情侣空间进不去的原因(qq情侣空间进不去)

    情侣空间进不去的原因(qq情侣空间进不去)

  • 苹果网络volte是什么意思(苹果手机volte功能)

    苹果网络volte是什么意思(苹果手机volte功能)

  • 电子邮箱的传输协议是(电子邮箱的传输协议是什么)

    电子邮箱的传输协议是(电子邮箱的传输协议是什么)

  • 苹果11通话记录保存多久(苹果11通话记录怎么查询更早)

    苹果11通话记录保存多久(苹果11通话记录怎么查询更早)

  • 小米9双4g有什么用(小米9是双模手机吗)

    小米9双4g有什么用(小米9是双模手机吗)

  • 内存条如何安装(电脑内存条如何安装)

    内存条如何安装(电脑内存条如何安装)

  • vivox20的安全中心在哪里(vivo手机的安全设置中心在哪)

    vivox20的安全中心在哪里(vivo手机的安全设置中心在哪)

  • 苹果通讯录黑名单在哪(苹果通讯录黑名单短信也收不到吗)

    苹果通讯录黑名单在哪(苹果通讯录黑名单短信也收不到吗)

  • 手机ip地址怎么看(手机ip地址怎么切换)

    手机ip地址怎么看(手机ip地址怎么切换)

  • 手机屏幕上的字怎么弄(手机屏幕上的字怎么放大)

    手机屏幕上的字怎么弄(手机屏幕上的字怎么放大)

  • uni-app,vue3接口请求封装(uni vuex)

    uni-app,vue3接口请求封装(uni vuex)

  • 劳务派遣公司差额征税的账务处理
  • 多扣的增值税怎么做账务处理
  • 增值税月末结转还是年末结转
  • 医疗设备的折旧年限是多少年
  • 企业销售不动产增值税政策
  • 低值易耗品包含什么
  • 开发成本存货减少
  • 公司员工的车外地的停车费怎么做分录
  • 企业出售产品
  • 汽车违章罚款在哪里缴纳
  • 发票作废相关规定
  • 金税三期理解
  • 定期定额自行申报表计税依据
  • 未达到起征点销售额会计分录
  • 分支机构的季度所得税务报表是填合并报表吗
  • 上级拨入资金计入什么科目
  • 生产测试是指什么
  • windows伪装电脑mac
  • 个人开票给公司个人所得税怎么扣
  • windows11怎么创建宽带拨号连接图标
  • 购进材料用于在建工程进项税
  • 处理废料的会计分录
  • 销售折让怎么做分录
  • 捐赠固定资产入账价值
  • linux的安装和使用
  • 目前光学变焦最大支持多少倍
  • 结转消费税的会计分录
  • 错账缴回的银行会计分录
  • 贷款损失准备科目为负债类科目
  • 出差补贴是必须的吗
  • 经营租赁的房屋计提折旧吗
  • 如何防范增值税的税收风险
  • 销货退回与折让属于什么科目
  • 固定资产的计量属性
  • cpu占满gpu不工作
  • 计算机视觉的应用
  • 数据可视化分析
  • php中单双引号的区别
  • 礼品赠送纳税标准
  • 小型微利企业符合条件的有
  • 稿酬的支付方式
  • 关联方计提坏账吗
  • mongodb常用语句
  • linux mongodb创建用户
  • 理财产品怎么分类总结
  • 小型生产加工企业税率
  • 坏账准备的借贷方向代表什么
  • 增值税留抵税款制度
  • 税费损失
  • 主营业务成本如何设置明细
  • 先收票后收货
  • 所得税为负数会计分录
  • 实收资本印花税最新规定
  • 连锁药店成本会计
  • 个体户一个月能赚多少钱
  • 房屋销售预收如何交税
  • 营业收入增长率分析
  • count(10,2,5)
  • mysql连接数 是针对db还是服务器
  • win8和win10双系统安装教程
  • ubuntu运行慢的原因
  • android linux deploy
  • win7数据保护
  • windows 10更新卡住
  • win10图标预览
  • vm虚拟机怎么使用
  • Unity3D游戏开发pdf
  • unity怎么用
  • css如何实现
  • jquery动态
  • js会话
  • js为什么不能用var定义变量
  • android:imeOptions属性
  • js滚动条滚动触发事件
  • android实时获取微信聊天信息
  • 个人所得税子女教育和赡养老人抵扣多少税
  • 房产税从价计征税率
  • 重庆市劳动监察大队官网
  • 北京税务报到期限
  • 达州房管局备案查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设