一、安装Tinymce
// 首先安装tinymce的vue组件,因为没有注册服务 npm install @tinymce/tinymce-vue -S // 接着安装tinymce npm install tinymce -S
或者在package.json文件中配置
"@tinymce/tinymce-vue": "^2.0.0", "tinymce": "^5.0.3",
二、安装语言包
正常情况下,tinymce是英文的,所以需要下载中文包
中文语言包下载
三、配置文件
将下好的中文包和tinymce中的skins文件一起拷贝复制到public中的tinymce中
四、引入tinymce
在使用页面引入tinymce
import tinymce from 'tinymce/tinymce' import Editor from '@tinymce/tinymce-vue' import 'tinymce/themes/silver'
Tips 这是个组件,需要在components中注册后才能使用
<editor id="tinymce" v-model="tinyValue" :init="init"></editor>
init
初始化配置
init: { language_url: '/tinymce/langs/zh_CN.js',// 语言包的路径 language: 'zh_CN',//语言 skin_url: '/tinymce/skins/ui/oxide',// skin路径,注意这个,很多网上教程都是skins/lightgray,但是发现其实并没有这个玩意儿 height: 300,//编辑器高度 branding: false,//是否禁用“Powered by TinyMCE” menubar: false,//顶部菜单栏显示 }
拓展插件
刚创建的编辑器是非常简陋的,很多功能需要引入插件,并在初始化中配置plugins,并在toolbar上面配置对应按钮
import 'tinymce/plugins/image'// 插入上传图片插件 import 'tinymce/plugins/media'// 插入视频插件 import 'tinymce/plugins/table'// 插入表格插件 import 'tinymce/plugins/lists'// 列表插件 import 'tinymce/plugins/wordcount'// 字数统计插件 init: { plugins: 'lists image media table wordcount', toolbar: 'undo redo | formatselect | bold italic forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | lists image media table | removeformat', }
五、初始化tinymce
在mounted钩子函数里初始化
tinymce.init({})
正常图片没有上传功能,需要在init里面添加上传图片方法
init: { // 这个是base64方法处理后的 images_upload_handler: (blobInfo, success, failure) => { const img = "data:image/jpeg;base64," + blobInfo.base64(); success(img); } }
字数统计好像只对中文和标点符号有效果,输入英文字母好像不管输入多少都会统计成1个
六、常规编辑器
UEditor
wangEditor
Quill
CKeditor
kingEditor
mediumEditor
trix
bootStrap
来源:https://www.cnblogs.com/zjh-study/p/10783013.html