Vuetinymce富文本工具整合

原创
小哥 3年前 (2022-11-16) 阅读数 98 #大杂烩

由于该编辑器升级到了5.0版本,会导致下文中的某些文件找不到的情况,但是封装思路是相同的,如需继续使用请使用下面的版本再次尝试
“@tinymce/tinymce-vue”: “^1.1.0”
“tinymce”: “^4.8.5”

vue cli 3 + tinymce5.0版本整合参考: 点击前往

最近再弄一个后台管理系统,挑选了不少的编辑器,最终选择了tinymce,UI精美,功能模块多,可按需加载配置
来一张 tinymce官网 的完整功能的图(没梯子可能访问速度有点慢…)

下面开始工作:

插件安装

tinymce官方提供了一个vue的组件 tinymce-vue
如果有注册或购买过服务的话,直接通过组件配置api-key直接使用,像我这种懒的注册或者购买的直接下载tinymce,自力更生

安装tinymce-vue

npm install @tinymce/tinymce-vue -S

下载tinymce

npm install tinymce -S

下载的时候可以先在static下面建个目录tinymce,下载tinymce完成后在node_modules 中找到 tinymce/skins目录,将其复制到static\tinymce目录下面,

下载中文语言包

tinymce提供了很多的语言包,这里我们下载 中文语言包

下载完成后将其解压到static\tinymce目录下面,最终目录结构形式如下

初始化

引入基本文件

import tinymce from tinymce/tinymce
import Editor from @tinymce/tinymce-vue
import tinymce/themes/modern/theme

components中注册tinymce-vue才能使用

初始化配置项,具体参考 官网文档 ,这里说几个重要的

init: {
    language_url: /static/tinymce/langs/zh_CN.js,//语言包的路径
    language: zh_CN,//语言
    skin_url: /static/tinymce/skins/lightgray,//skin路径
    height: 300,//编辑器高度
    branding: false,//是否禁用“Powered by TinyMCE”
    menubar: false,//顶部菜单栏显示
}

扩展插件

默认的编辑器只有基本功能,如果还需要上传图片,插入表格之类的功能就需要添加 插件
如添加上传图片和插入表格的插件

import tinymce/plugins/image
import tinymce/plugins/table

引入后还需要再toolbar工具栏上添加相应的按钮

plugins: lists image media table textcolor wordcount contextmenu,
toolbar: undo redo |  formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | lists image media table | removeformat,

这里我们一般会再次把它进行封装一下,以便其他地方随时可以引用

完整代码tinymce-editor.vue




封装后使用





最后来张动态的效果图

文章参考:

https://www.cnblogs.com/wisewrong/p/8985471.html

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除