这篇博客的目的是记录一下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_urllanguage 设置。
language_url 和语言包设置方法,同 skin_url

editorInit: {// ...language_url: '/static/tinymce/zh_CN.js',language: 'zh_CN',
}

更多配置请参考官方文档

在 Vue 项目中引入 tinymce 富文本编辑器相关推荐

  1. Vue项目中使用 tinymce 富文本编辑器的方法,附完整源码

    来源 | https://blog.csdn.net/xingmeiok/article/deta 1.tinymce相关参考资料 tinymce版资料: http://tinymce.ax-z.cn ...

  2. 在vue3.0项目中使用tinymce富文本编辑器

    目录 一.安装 二.完整代码 三.事项说明 四.参考文档   之前看了好几篇关于 vue项目中使用 tinymce的文章, import引入大量 tinymce插件, /node_modules/ti ...

  3. Vue 中引入markdown富文本编辑器并根据md格式渲染

    Vue 中引入markdown富文本编辑器 在vue组件中,比较好用的是mavon-editor,github文档地址 https://github.com/hinesboy/mavonEditor ...

  4. Vue 中使用 Tinymce 富文本编辑器

    参考链接:https://www.cnblogs.com/wisewrong/p/8985471.html Tinymce : 从 word 粘贴过来还能保持绝大部分格式的编辑器 一. 下载 npm ...

  5. vue管理后台项目中使用wangEditor富文本编辑器

    背景 公司需要做一个后台文章管理的模块,通过富文本编辑器编辑文章,在前端显示.调研了很久,决定使用wangEditor -- 轻量级 web 富文本编辑器,配置方便,使用简单.一些编辑器的说明. 开始 ...

  6. 在Vue中使用Tinymce富文本编辑器+上传图片到七牛

    公司官网后台需要做一个上传新闻.公告的功能,自然而然就需要用到了富文本编辑器. UEditor.Simditor.wangEditor.CKEditor.TinyMCE.Quill,这是当前比较热门的 ...

  7. Vue项目中使用wangEditor富文本输入框(推荐)

    vue中安装wangEditor cnpm install wangeditor 创建公用组件:在src/vue/components文件夹中创建wangEditor.vue <template ...

  8. vue实战025:配置TinyMCE富文本编辑器

    目录 组件安装 组件引用 添加模板 初始化编辑器 常用属性配置 扩展插件使用 之前分享了一篇vue实战021:Vue-Quill-Editor富文本编辑器使用,有网友说TinyMCE更好用,所以今天来 ...

  9. Vue3中使用Tinymce富文本编辑器(版本最新)

    使用目录 前言 一.安装方法一(npm.yarn下载) 二.安装方法二(下载官网压缩包方法)--推荐 总结 前言 最近使用了WangEditor编辑器和Tinymce编辑器,使用方法如下(采用的编辑器 ...

  10. django项目中使用KindEditor富文本编辑器

    先从官网下载插件,放在static文件下 前端引入 学习python中有什么不懂的地方,小编这里推荐加小编的python学习群:895,817, 687 有任何不懂的都可以在里面交流,还有很好的视频教 ...

最新文章

  1. 搞定Linux只要半年
  2. mogilefsd同步速度调优
  3. 打印异常堆栈_关于日志打印行号的性能案例
  4. android Linkify的用法
  5. 35.伪造请求超时的ICMP数据包
  6. 安装Dreamweaver CS5遇到的问题
  7. 泊松分布的期望和方差
  8. Python教你一键获得【王者荣耀全皮肤】~~~
  9. 高级密码学复习2-HUST版
  10. [ios2] ios开发之MPNowPlayingInfoCenter 锁屏显示正在播放的音乐
  11. JavaScript正则表达式账号密码验证练习
  12. Java生成唯一主键
  13. Jsbeautifier JS代码美化库
  14. clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数
  15. 字符串匹配KMP算法讲解
  16. 在Windows10上通过Virtualbox安装Ubuntu操作系统教程
  17. CTS、CTS-V、GTS版本更新,及其注意事项
  18. 小技巧 - 解决 webp 格式图片的快速复制粘贴
  19. 一款简单的单页网址导航源码
  20. 荐号 | 携程人的小秘密都在这里了

热门文章

  1. Android 音视频开发 视频编码,音频编码格式
  2. js 动态生成表格案例
  3. ext2文件系统初步
  4. IBM人工智能项目Watson旧金山开设新总部
  5. 互补滤波 二阶低通滤波理解
  6. #(最新最全)PDB(Protein Data Bank)数据格式详解
  7. Java程序员开发软件(工具)清单
  8. linux系统tcl电视刷机包,【欢视商店】TCL电视RT95系列升级包与刷机包
  9. 2021/8/10 正在F-Droid里下载Termux...
  10. EXCEL数组公式(3)---数组公式的基础应用,理解数组公式