位置: 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)(琼斯的大海怪)

  • 电饭煲显示e3是什么原因(电饭煲显示e3是什么意思)

    电饭煲显示e3是什么原因(电饭煲显示e3是什么意思)

  • 华为mate30pro视频聊天如何开美颜

    华为mate30pro视频聊天如何开美颜

  • 华为p30灭屏显示怎么换样式(华为p30灭屏显示耗电吗)

    华为p30灭屏显示怎么换样式(华为p30灭屏显示耗电吗)

  • 笔记本可以直播吗(笔记本可以直播游戏吗)

    笔记本可以直播吗(笔记本可以直播游戏吗)

  • 苹果手机锁屏时微信没有提示音(苹果手机锁屏时来微信没有声音怎么回事)

    苹果手机锁屏时微信没有提示音(苹果手机锁屏时来微信没有声音怎么回事)

  • 苹果5.8寸手机有哪些(苹果5.8寸手机有多大图片)

    苹果5.8寸手机有哪些(苹果5.8寸手机有多大图片)

  • 一天发多少短信会封号(一天发多少短信会封卡)

    一天发多少短信会封号(一天发多少短信会封卡)

  • 快手商家号开通600给退吗(快手商家号开通条件)

    快手商家号开通600给退吗(快手商家号开通条件)

  • 快手隐私用户是所有人都看不到吗(快手隐私用户是什么意思)

    快手隐私用户是所有人都看不到吗(快手隐私用户是什么意思)

  • 网络层四个协议有哪些(网络层四个协议是什么)

    网络层四个协议有哪些(网络层四个协议是什么)

  • 动态密码app卸载了怎么办(动态密码忘了怎么办)

    动态密码app卸载了怎么办(动态密码忘了怎么办)

  • 电脑内存最大多少g(电脑内存最大多少G)

    电脑内存最大多少g(电脑内存最大多少G)

  • 3个皇冠的qq号是多少(qq三个皇冠后面是什么)

    3个皇冠的qq号是多少(qq三个皇冠后面是什么)

  • 怎样设置qq空间不被别人看到(怎样设置qq空间仅三天可见)

    怎样设置qq空间不被别人看到(怎样设置qq空间仅三天可见)

  • w10怎么切换登录账号(windows10怎么切换用户)

    w10怎么切换登录账号(windows10怎么切换用户)

  • 8p一般能用几个小时(8p最多支持几w)

    8p一般能用几个小时(8p最多支持几w)

  • 直播点亮要付费吗(直播点亮要付费嘛)

    直播点亮要付费吗(直播点亮要付费嘛)

  • qq音乐独立密码怎么设置(qq音乐独立密码在哪里)

    qq音乐独立密码怎么设置(qq音乐独立密码在哪里)

  • 通讯录黑名单怎么解除(通讯录黑名单怎么找)

    通讯录黑名单怎么解除(通讯录黑名单怎么找)

  • 抖音绑定的手机号注销了怎么办(抖音绑定的手机号码注销了怎么办)

    抖音绑定的手机号注销了怎么办(抖音绑定的手机号码注销了怎么办)

  • oppor11怎么拍星空(oppor11怎么拍星星)

    oppor11怎么拍星空(oppor11怎么拍星星)

  • 怎么清空收款小账本(怎么清空收款小账本华为)

    怎么清空收款小账本(怎么清空收款小账本华为)

  • 华为手机视频画面怎样变宽(华为手机视频画面比例怎么调整)

    华为手机视频画面怎样变宽(华为手机视频画面比例怎么调整)

  • 小米手环1怎么使用(小米手环1怎么调节亮度)

    小米手环1怎么使用(小米手环1怎么调节亮度)

  • python中用OpenCV在图像添加文本(opencv python)

    python中用OpenCV在图像添加文本(opencv python)

  • 工会经费和工会会员会费
  • 出租房屋确认收入列简易计税还是销项税
  • 应计入资产负债表应付利息项目的有
  • 转让不动产取得的发票
  • 职工伤残补助金被单位扣留违反什么法
  • 银行利息回单怎么打印
  • 收储土地资金会计核算办法
  • 免税商品销售要缴税吗
  • 机器设备的损耗属于什么会计科目类别
  • 无偿代建政府公告
  • 怎么进行利润招财
  • 营改增后建筑业开票规定
  • 特定行业职工取得的工资、薪金所得,如何计算个人所得税?
  • 6月实施的新政有哪些?
  • 一般纳税人所说的税率是
  • 开票时金额怎么能含税
  • 年中建账损益类科目怎么录
  • 非居民企业可以享受小微企业所得税优惠政策吗
  • 生产调试消耗原材料如何做账?
  • 库存商品成本变动率
  • 预付卡发给员工如何入账
  • 给客户购买礼品怎么记账
  • 农作物种植销售
  • 未开票收入跨年可以冲回吗
  • 怎么删除office
  • 暂估成本后发票怎么入账
  • 关于员工被辞退经济赔偿
  • windows11如何关闭病毒和威胁防护
  • 房地产项目公司是什么意思
  • 有形动产融资租赁增值税即征即退政策
  • 高新企业政府补贴政策
  • 注册资本增加了
  • 提取公益金会计科目
  • ThinkPHP中html:list标签用法分析
  • vue自定义弹窗带有遮罩层
  • js加密解密源代码
  • 代垫运费算收入吗
  • 一般纳税人增值税结转账务处理
  • 小规模纳税人购入货物收到增值税专用发票
  • 境外出差
  • 茶叶开一般发票(非增值税发票)是多少个点的?
  • js 数组remove
  • 城镇土地使用税征收标准及计算方法
  • 英文好书推荐
  • db2教程
  • 承兑汇票可以当现金借给别人用吗
  • 购买税盘怎么减免申报
  • 承包经营所得适用比例税率
  • 兼职劳务报酬税率
  • 盘盈盘亏怎么填写
  • 个人补缴的医保有钱返吗
  • 境外汇款免税
  • 提取法定盈余公积金的比例是多少
  • 劳务派遣的公司值得去吗
  • 应收账款和预收账款都是企业的债权
  • 房地产开发成本费用明细表
  • 收据和收款收据的法律效力
  • 企业职工薪酬如何确定
  • 进项税留抵怎么做分录
  • 工程进度开票如何入账
  • 固定资产折旧年限的最新规定2023
  • 建筑公司劳务费怎么做账
  • sql语句数字转化为文字
  • win7资源管理器停止工作怎么办
  • WIN7系统如何禁止特定软件在线升级
  • fsrec.sys
  • ie版本过低怎么升级win7
  • cocos2d官网
  • diskpart ntfs
  • pygame如何加载图片
  • shader入门
  • 高仿微信本地图片违法吗
  • Linux 中常用的几种压缩工具?
  • unity3d应用
  • unity as
  • java中的多态性
  • socket客户端发送数据
  • js操作对象的方法
  • 烟叶税属于中央税还是地方税
  • 新开公司交印花税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设