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

  • 微博会员可以看到访客记录吗(微博会员可以看到谁浏览过我吗)

    微博会员可以看到访客记录吗(微博会员可以看到谁浏览过我吗)

  • 钉钉电子签名怎么弄(钉钉电子签名怎么签)

    钉钉电子签名怎么弄(钉钉电子签名怎么签)

  • oppo reno十倍变焦是多少w快充(opporeno十倍变焦版上市时间)

    oppo reno十倍变焦是多少w快充(opporeno十倍变焦版上市时间)

  • 什么是双控(什么是双控预防机制?)

    什么是双控(什么是双控预防机制?)

  • 苹果11怎么设置应用加密(苹果11怎么设置密码锁屏)

    苹果11怎么设置应用加密(苹果11怎么设置密码锁屏)

  • 虚拟运营商的号码和普通号码有什么区别(虚拟运营商的号段有哪些)

    虚拟运营商的号码和普通号码有什么区别(虚拟运营商的号段有哪些)

  • core2duo是什么处理器(core是干嘛的)

    core2duo是什么处理器(core是干嘛的)

  • 拍抖音视频怎么挣钱(拍抖音视频怎么加长时间)

    拍抖音视频怎么挣钱(拍抖音视频怎么加长时间)

  • 机械硬盘读不出来了怎么办(机械硬盘读不出来)

    机械硬盘读不出来了怎么办(机械硬盘读不出来)

  • ipad4可以用pencil吗(ipad4可以用电容笔吗)

    ipad4可以用pencil吗(ipad4可以用电容笔吗)

  • 淘宝评论可以删除吗(淘宝评论可以删除图片吗)

    淘宝评论可以删除吗(淘宝评论可以删除图片吗)

  • 火山小视频亚健康一般封几天(…火山小视频 原版)

    火山小视频亚健康一般封几天(…火山小视频 原版)

  • 苹果手机怎么下载歌曲(苹果手机怎么下安卓软件)

    苹果手机怎么下载歌曲(苹果手机怎么下安卓软件)

  • 快手亲密值怎么涨(快手亲密值怎么上得快)

    快手亲密值怎么涨(快手亲密值怎么上得快)

  • 手机安装不上软件怎么回事(手机安装不上软件怎么解决)

    手机安装不上软件怎么回事(手机安装不上软件怎么解决)

  • soulmate点亮会怎样(soulmate点亮有什么好处)

    soulmate点亮会怎样(soulmate点亮有什么好处)

  • 机顶盒能直接连电脑吗(机顶盒能直接连光猫吗)

    机顶盒能直接连电脑吗(机顶盒能直接连光猫吗)

  • 拼多多销量是月售吗(拼多多销量是月销量吗)

    拼多多销量是月售吗(拼多多销量是月销量吗)

  • 交易猫取消订单退钱吗(交易猫取消订单退款多久到账)

    交易猫取消订单退钱吗(交易猫取消订单退款多久到账)

  • win10如何获得管理员权限 删除文件提示需要管理员administretor权限解决办法(win10如何获得管理员权限修改文件)

    win10如何获得管理员权限 删除文件提示需要管理员administretor权限解决办法(win10如何获得管理员权限修改文件)

  • win10默认网关自动消失解决方法(win10默认网关自动清空)

    win10默认网关自动消失解决方法(win10默认网关自动清空)

  • ehRecvr.exe进程安全吗 ehRecvr是什么进程(replace.exe进程)

    ehRecvr.exe进程安全吗 ehRecvr是什么进程(replace.exe进程)

  • Vue实战——使用代理服务器解决跨域问题——No‘Access-Control-Allow-Origin‘ header is present on the requested resource(vue用法)

    Vue实战——使用代理服务器解决跨域问题——No‘Access-Control-Allow-Origin‘ header is present on the requested resource(vue用法)

  • vue自适应布局(各种浏览器,分辨率)(vue 响应式自适应布局)

    vue自适应布局(各种浏览器,分辨率)(vue 响应式自适应布局)

  • 2022年OK源码中国教你如何在国内使用谷歌的reCaptcha验证码服务-OK源码中国(okhttp源码)

    2022年OK源码中国教你如何在国内使用谷歌的reCaptcha验证码服务-OK源码中国(okhttp源码)

  • 商业汇票申请贴现分录
  • 银行日记账期初余额写在什么科目
  • 怎么查纳税人信用等级
  • 预付账款怎么处理
  • 固定资产在现金流量表中的体现
  • 以个人使用过的设备投资免增值税吗
  • 银行承兑汇票收费标准
  • 公司美元账户收到美元要交税吗
  • 不动产权证拆迁的话有什么作用
  • 免费拿样品
  • 公司在原有生产领域内充分利用
  • 公司买手机可以开票抵扣吗
  • 工商年报中的纳税总额是所属期应交还是实交税额
  • 发票收款人和开票人
  • 增值税进项税额是什么意思
  • 河北省东光县是哪个城市
  • 经营性租入的设备是资产吗
  • 商品返点收入账务处理
  • 亏损企业是否可以上成长板
  • 劳务挂靠需要开票吗
  • 金税三期核心征管系统行政处罚
  • 销售外购设备并提供安装服务
  • 事业单位付银行贷款利息
  • 代扣代缴个税手续费
  • win7纯净版怎么联网
  • 社保征集单是什么样子的
  • 睿因无线路由器怎么设置
  • .sfx.exe是什么文件
  • thinkphp smarty
  • 企业所得税核定征收方法有哪两种
  • web期末大作业源代码
  • 如何使用vue
  • 固定资产和无形资产计提折旧时间
  • r在数据分析中表示什么意思
  • vue3的unplugin-auto-import自动引入
  • 多智能体概念
  • 财务报表没有申报会影响领发票吗
  • 研发费用加计扣除75%还是100%
  • 纳税调增调减通俗易懂
  • 永续债利息可以扣除嘛
  • dede织梦怎么转成zblog
  • python中myqr的用法
  • 材料可变现净值为什么不减去材料的销售费用
  • 个人独资企业的特点
  • 法定盈余公积的作用
  • mysql无法添加数据
  • 工业企业的会计核算程序
  • 财务报表没报会影响出口退税吗为什么
  • 信息技术服务增值税税负率是多少
  • 税控盘是什么会计科目
  • 费用发票处理
  • 员工报销货款会计分录怎么写
  • 核定征收的情况包括
  • 固定资产处置的账务处理 终于搞明白了!
  • 工程进度节点奖励考核
  • 发票金额与实际金额不符怎么举报
  • 误餐补助标准国家规定
  • 去年的凭证今年未入账
  • 住院病假工资如何计算
  • sql server如何远程登录
  • sql server中一个数据库可以有多个文件组
  • MySQL关键字执行顺序
  • 类似wps office的手机软件
  • 流言:Win9或终止32位系统 加速64位平台
  • windows8.1关闭开机密码
  • cocos2d-x教程
  • unity获取组件的方法
  • android基于什么语言
  • 批处理 dp0
  • perl中sub
  • cocos2dx lua在sublime下的插件安装及查看定义
  • batch批处理
  • 一个进程cpu占用率长时间为90%以上
  • javascript入门基础
  • jquery里面的$是什么意思
  • error: Error parsing XML: unbound prefix
  • js验证码代码怎么写
  • 厂房转让的土地税怎么算
  • 湖北税务报税系统官网
  • 预缴的税额可以用留底抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设