vue3使用jodit富文本编辑器,自定义各项配置及组件封装
创始人
2025-05-29 03:41:08
0

目录

    • 常用配置
      • 设置中文
      • 字体设置
      • CDN的引用
      • 图片上传
      • 对编辑器中生成的元素添加默认属性
    • 组件封装

本文使用时的版本:

"vue": "^3.2.36",
"jodit": "^3.24.7"

Jodit 是国外编写的一个功能强大的富文本编辑器,有常规版本和PRO版本,PRO版本功能更全,但需要付费,常规版本也已够用,目前官网没有提供中文文档。
当我们在使用时,会遇到一些问题,比如在设置了编辑器的语言版本为中文后,仍有部分还是英文显示,需要如何修改;还有如何将字体设置为一些常用中文字体;如何设置图片文件上传等等;
如果是在vue2中使用还需要去修改源码,则比较繁琐,具体实现方式可参考我之前发布的文章: vue2.x使用jodit富文本编辑器,并配置自定义字体和中文,本文主要针对于vue3(组合式)中的使用。
在vue3中就比较方便了,不用修改源码,全部可使用配置参数去设置,参数配置项多达159个,全部的配置项可参阅Jodit官网的config,这里列举一些常用项,全部的配置代码放在组件封装一节展示。

常用配置

设置中文

let config = {language: "zh_cn",i18n: {//将语言版本设置为中文后仍然还有部分显示的英文改为中文,左面的key为页面上显示的英文,value则是需要对应显示的中文,目前支持19种语言zh_cn: {//简体中文top: "上",right: "右",bottom: "下",left: "左",Title: "标题",Link: "链接","Line height": "行高",Alternative: "描述","Alternative text": "描述","Lower Alpha": "小写英文字母","Lower Greek": "小写希腊字母","Lower Roman": "小写罗马数字","Upper Alpha": "大写英文字母","Upper Roman": "大写罗马数字",},zh_tw:{//中文繁体Link:'鏈接'}},
}

修改前后对比:
在这里插入图片描述

字体设置

需要注意的是,所设置的字体需要设备上安装的有才能正常显示,不然没效果。

import { Jodit } from "jodit";
let config = {controls: {font: {list: Jodit.atom({//左侧key为电脑上对应字体的名称,右侧value是在编辑器字体下拉列表中展示的名称"Microsoft YaHei": "微软雅黑",KaiTi: "楷体",方正喵呜体: "方正喵呜体","思源宋体 Heavy": "思源宋体",SimHei: "黑体",NSimSun: "新宋体",华文行楷: "华文行楷",}),},}}

CDN的引用

Jodit引用的是外网cdn,有的时候访问不上,这里更换的是七牛cdn,建议更换的插件版本要同原来一致。

let config = {sourceEditorCDNUrlsJS: [// "https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ace.js",原cdn"https://cdn.staticfile.org/ace/1.4.2/ace.js",],beautifyHTMLCDNUrlsJS: ["https://cdn.staticfile.org/js-beautify/1.14.4/beautifier.min.js","https://cdn.staticfile.org/js-beautify/1.14.4/beautify-html.min.js",],
}

图片上传

如果不配置,只能使用url链接,不能上传本地图片。

let config = {uploader: {url: "/api/uploads",//上传地址isSuccess(res) {return res;},defaultHandlerSuccess(data) {//此处参数的值默认是接口返回的data值console.log("defaultHandlerSuccess", data);data.forEach((item) => {this.s.insertImage(item.url); //将图片插入编辑器中,不可省略});},defaultHandlerError(err) {console.log("defaultHandlerError", err);this.jodit.events.fire("errorMessage", err);},error(err) {console.log("error", err);this.jodit.events.fire("errorMessage", "文件上传失败");},},
}

对编辑器中生成的元素添加默认属性

比如 引用功能,元素标签是 blockquote,Jodit中生成的引用板块不明显,并未做具体的样式设置。

let config = {createAttributes: {blockquote: {//可以设置style,也可以设置classstyle: `display: block;padding: 16px;margin: 0 0 24px;border-left: 8px solid #dddfe4;background: #eef0f4;color: rgba(0, 0, 0, 0.5);overflow: auto;word-break: break-word !important;`,class:'blockquote-box'//在css中编写类名对应的样式},},
}

引用板块设置前后对比:
在这里插入图片描述

组件封装

Jodit v3版本的封装比较简单,这里就不一一阐述了,新建JoditEditor.vue,组件代码如下:


使用封装后的组件:

相关内容

热门资讯

Spring @Lookup 1. Overview In this quick tutorial, we’ll take a l...
English Learnin... English Learning - L2 语音作业打卡 复习对比 [e] [æ] Day21 20...
Intel 处理器 macOS... 1 创建可引导的 macOS 安装器 将移动硬盘作安装 Mac 操作系统的启动磁盘。 创建可引导安装...
一家三口去张家界旅游团5日游跟... 一家三口去张家界旅游团5日游跟团去张家界5日游要多少钱,看过来划算又方便。最近我带着家人决定来一场说...
原创 小... 在中国传统美食的丰富宝库中,小酥肉以其金黄酥脆的外皮、鲜嫩多汁的内里和独特的香气,成为家宴与节庆餐桌...
嵌入式学深度学习:1、Pyto... 嵌入式学深度学习:1、Pytorch框架搭建1、介绍2、Pytorch开发环境搭建2....
北京延庆井庄乡村奥莱商街端午开... 千龙网讯 (记者 郑涛 通讯员 刘嘉豪)端午假期前夕,京郊旅游再添打卡地——延庆区井庄镇柳沟村乡村奥...
原创 不... 天气越来越热啦,而且最近大广州雨水多,每天几场阵雨,说来就来,经常阻止了孩子出门的脚步,搞得小朋友闷...
原创 鱼... “小生意”也要做好“差异化”。 编者按 今年以来,红餐编辑部在全国各地走访时接触了不少“小破店...
明日端午,牢记3不做,吃4样,... 端午节,我国四大传统节日之一,源于自然天象崇拜,由上古时代祭龙演变而来,“端”字有初始的意思,按照历...
广东肇庆裹蒸粽 | 一口吃到千... 肇庆,这座充满历史韵味的岭南小城,藏着无数让人垂涎的美食,而裹蒸粽,绝对是其中的C位担当! 【裹蒸...
贵州嬴氏酒亮相全国高校招生国际... 2025年5月25日,《全国高校招生国际教育大会》在郑州华智酒店盛大启幕。大会吸引了国内外数百所教育...
原创 茼... 茼蒿的嫩叶在沸水中轻轻一烫就泛出翡翠般的光泽,与金黄的蛋液交融时飘出令人心安的香气。这种看似平常的搭...
“烤鸭配酸奶”火出圈!老北京酸... 5月29日至31日,由北京市奶业协会主办的第六届北京牛奶文化节在中关村移动智能服务创新园(上地・元中...
一些精神状况健康心态稳定的秘诀... 1 2 3 4 5 6 7 8 9 10 有一半是香蕉,那很好吃了!
来厦门机场中转,这份攻略请收好... 端午假期临近,作为东南沿海重要的航空枢纽,厦门机场又将成为众多旅客的中转驿站。近日,记者实地探访厦门...
潮汕旅游3天大概要花多少钱,潮... 潮汕旅游3天大概要花多少钱,潮汕三日游价格一览表 作为一个对各地文化充满好奇的旅行爱好者,我一直对潮...
6人小团北疆大环线10日游全攻... 6人小团北疆大环线10日游全攻略 前期准备 1. 证件:身份证必带,它是出行、住宿、购票的关键。如有...