在 Vue 项目中引入 tinymce 富文本编辑器
这篇博客的目的是记录一下Vue 中使用 tinymce 富文本编辑器,其中参考了一下 https://www.cnblogs.com/wisewrong/p/8985471.html 这篇博客,但原博客只兼容 Tinymce 4.x
不支持最新版本,所以在此做了更新。
特别说明,此博客适用于 tinymce 6.x
版本说明
"vue": "^2.6.14",
"@tinymce/tinymce-vue": "^3.2.8",
"tinymce": "^6.1.2",
- 如果有购买 tinymce 的服务,可以参考 tinymce-vue 的说明,通过 api-key 直接使用 tinymce。
- 安装之后,在 node_modules 中找到 tinymce/skins 目录,然后将 skins 目录拷贝到 public 目录下
初始化
引入以下文件
import tinymce from 'tinymce/tinymce'
import Editor from '@tinymce/tinymce-vue'
import 'tinymce/themes/silver/theme'
import 'tinymce/models/dom';
import 'tinymce/icons/default';
tinymce-vue 是一个组件,需要在 components 中注册,然后直接使用
<Editor v-model="tinymceHtml" :init="editorInit"></Editor>
编辑器需要一个 skin
才能正常工作,所以要设置一个 skin_url
指向之前复制出来的 skins
文件,content_css
指向 content.css
。
注意,需要使用哪套theme,就将目录指到对应文件。如下面的黑暗模式
editorInit: {skin_url: '/skins/ui/oxide',content_css: '/skins/content/default/content.css',// 黑暗模式// skin_url: '/skins-2/ui/oxide-dark',// content_css: '/skins-2/content/dark/content.css',height: 300,
}
同时在 mounted 中也需要初始化一次:
如果在这里传入上面的 init 对象,并不能生效,但什么参数都不传也会报错,所以这里传入一个空对象。
mounted () {tinymce.init({})
}
扩展插件
完成了上面的初始化之后,就已经能正常运行编辑器了,但只有一些基本功能
tinymce
通过添加插件 plugins 的方式来添加功能
比如要添加一个上传图片的功能,就需要用到 image
插件,添加超链接需要用到 link
插件。
import 'tinymce/plugins/image';
import 'tinymce/plugins/link';
添加plugin:
plugins: 'link image',
添加 toolbar:
toolbar: 'link image',
最后贴一下完整代码:
<template><div class='tinymce'><h1>tinymce</h1><Editor v-model='tinymceHtml' :init='editorInit'></Editor><div v-html='tinymceHtml'></div></div>
</template><script>
import tinymce from 'tinymce/tinymce'
import Editor from '@tinymce/tinymce-vue'
import 'tinymce/themes/silver/theme'
import 'tinymce/models/dom';
import 'tinymce/icons/default';// plugin, 更多plugin,请参考官方文档
import 'tinymce/plugins/image'
import 'tinymce/plugins/link'
import 'tinymce/plugins/code'
import 'tinymce/plugins/table'
import 'tinymce/plugins/lists'
import 'tinymce/plugins/wordcount'
import 'tinymce/plugins/media'export default {// eslint-disable-next-line vue/multi-word-component-namesname: 'tinymce',data () {return {tinymceHtml: '请输入内容',editorInit: {skin_url: '/skins/ui/oxide',content_css: '/skins/content/default/content.css',height: 300,plugins: 'link lists image code table wordcount media',toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | removeformat',branding: false}}},mounted () {// 如果在这里传入上面的 init 对象,并不能生效,但什么参数都不传也会报错,所以这里传入一个空对象。tinymce.init({})},components: {Editor}
}
</script>
上传图片
默认配置是不支持上传图片的,需要上传图片需要按照文档添加相应配置,才会出现上传操作按钮。
多语言
默认显示英文,如果需要其他语言,需要自行下载对应的语言包,通过language_url
和 language
设置。
language_url
和语言包设置方法,同 skin_url
。
editorInit: {// ...language_url: '/static/tinymce/zh_CN.js',language: 'zh_CN',
}
更多配置请参考官方文档
在 Vue 项目中引入 tinymce 富文本编辑器相关推荐
- Vue项目中使用 tinymce 富文本编辑器的方法,附完整源码
来源 | https://blog.csdn.net/xingmeiok/article/deta 1.tinymce相关参考资料 tinymce版资料: http://tinymce.ax-z.cn ...
- 在vue3.0项目中使用tinymce富文本编辑器
目录 一.安装 二.完整代码 三.事项说明 四.参考文档 之前看了好几篇关于 vue项目中使用 tinymce的文章, import引入大量 tinymce插件, /node_modules/ti ...
- Vue 中引入markdown富文本编辑器并根据md格式渲染
Vue 中引入markdown富文本编辑器 在vue组件中,比较好用的是mavon-editor,github文档地址 https://github.com/hinesboy/mavonEditor ...
- Vue 中使用 Tinymce 富文本编辑器
参考链接:https://www.cnblogs.com/wisewrong/p/8985471.html Tinymce : 从 word 粘贴过来还能保持绝大部分格式的编辑器 一. 下载 npm ...
- vue管理后台项目中使用wangEditor富文本编辑器
背景 公司需要做一个后台文章管理的模块,通过富文本编辑器编辑文章,在前端显示.调研了很久,决定使用wangEditor -- 轻量级 web 富文本编辑器,配置方便,使用简单.一些编辑器的说明. 开始 ...
- 在Vue中使用Tinymce富文本编辑器+上传图片到七牛
公司官网后台需要做一个上传新闻.公告的功能,自然而然就需要用到了富文本编辑器. UEditor.Simditor.wangEditor.CKEditor.TinyMCE.Quill,这是当前比较热门的 ...
- Vue项目中使用wangEditor富文本输入框(推荐)
vue中安装wangEditor cnpm install wangeditor 创建公用组件:在src/vue/components文件夹中创建wangEditor.vue <template ...
- vue实战025:配置TinyMCE富文本编辑器
目录 组件安装 组件引用 添加模板 初始化编辑器 常用属性配置 扩展插件使用 之前分享了一篇vue实战021:Vue-Quill-Editor富文本编辑器使用,有网友说TinyMCE更好用,所以今天来 ...
- Vue3中使用Tinymce富文本编辑器(版本最新)
使用目录 前言 一.安装方法一(npm.yarn下载) 二.安装方法二(下载官网压缩包方法)--推荐 总结 前言 最近使用了WangEditor编辑器和Tinymce编辑器,使用方法如下(采用的编辑器 ...
- django项目中使用KindEditor富文本编辑器
先从官网下载插件,放在static文件下 前端引入 学习python中有什么不懂的地方,小编这里推荐加小编的python学习群:895,817, 687 有任何不懂的都可以在里面交流,还有很好的视频教 ...
最新文章
- 搞定Linux只要半年
- mogilefsd同步速度调优
- 打印异常堆栈_关于日志打印行号的性能案例
- android Linkify的用法
- 35.伪造请求超时的ICMP数据包
- 安装Dreamweaver CS5遇到的问题
- 泊松分布的期望和方差
- Python教你一键获得【王者荣耀全皮肤】~~~
- 高级密码学复习2-HUST版
- [ios2] ios开发之MPNowPlayingInfoCenter 锁屏显示正在播放的音乐
- JavaScript正则表达式账号密码验证练习
- Java生成唯一主键
- Jsbeautifier JS代码美化库
- clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数
- 字符串匹配KMP算法讲解
- 在Windows10上通过Virtualbox安装Ubuntu操作系统教程
- CTS、CTS-V、GTS版本更新,及其注意事项
- 小技巧 - 解决 webp 格式图片的快速复制粘贴
- 一款简单的单页网址导航源码
- 荐号 | 携程人的小秘密都在这里了
热门文章
- Android 音视频开发 视频编码,音频编码格式
- js 动态生成表格案例
- ext2文件系统初步
- IBM人工智能项目Watson旧金山开设新总部
- 互补滤波 二阶低通滤波理解
- #(最新最全)PDB(Protein Data Bank)数据格式详解
- Java程序员开发软件(工具)清单
- linux系统tcl电视刷机包,【欢视商店】TCL电视RT95系列升级包与刷机包
- 2021/8/10 正在F-Droid里下载Termux...
- EXCEL数组公式(3)---数组公式的基础应用,理解数组公式