tinymce是一款综合口碑特别好、功能异常强大的富文本编辑器,在某些网站,甚至享有“宇宙最强富文本编辑器”的称号。那么,在Vue项目中如何集成呢?这并不困难,只需要参照官方教程即可。难点在于如何将默认的英文本地化为中文。

 本人参考了众多网络资料进行本地化,竟发现没有一篇文章能够完全走通,并且各个教程显得极其繁琐。因此重新参考官方教程,反复实践,终究得以攻克。最终的方案较为简洁,基于官方包较为可靠。现将配置的细节、一些关键的要点分享如下。

 本文使用的版本:tinymce-vue 3.0.1。该包是tinymce官方的开源项目,并在官网文档中提供了说明,因此完全是值得信赖的。

 与网络上的众多教程相比,本文的方案只需要安装tinymce-vue即可,无需额外安装tinymce

一、安装tinymce-vue

npm install @tinymce/tinymce-vue

二、引入tinymce-vue并注册为组件

import Editor from '@tinymce/tinymce-vue';
export default {
name: 'HelloWorld',
components: {
'tinymce-editor': Editor
},
}

三、使用组件

<tinymce-editor api-key="API_KEY"
:init="{plugins: 'wordcount'}"></tinymce-editor>

API_KEY是你向tinymce官网注册账号得到的,免费即可获得,若没有传入有效的api-key属性,富文本编辑器也能使用,但会有恼人的提示:

The API key you have entered is invalid. Please review your API key here.

四、下载中文语言包

经过以上三步,已经可以使用了,但菜单是英文的,因此需要本地化为中文。进入官网下载中文语言包,语言包地址

五、导入中文语言包

在项目的public目录下新建tinymce目录,并将下载好的中文语言包中的zh_CN.js文件拷贝到tinymce目录中。

这是最为关键的一步,需注意的是:

  • 必须在public目录下创建文件夹来存放语言包。原因是语言包必须能通过绝对路径访问,而对于我们的vue项目而言,绝对路径是public目录。

现在传入tinymce编辑器的初始化参数,在其中正确设置语言参数,如下:

    <tinymce-editor api-key="API_KEY"
:init="editorConfig"></tinymce-editor>
import Editor from '@tinymce/tinymce-vue';
export default {
name: 'HelloWorld',
components: {
'tinymce-editor': Editor
},
data(){
return {
editorConfig:{
language: 'zh_CN',
language_url: '/tinymce/zh_CN.js'
}
}
}
}

其中language_url必须传入绝对路径

六、继续汉化

即便我们已经有了中文语言包,由于tinymce的插件众多,情况千差万别,难免有汉化不全的情况。这时,我们只需要进入zh_CN.js文件中,添加需要汉化的英文即可,例如:

{ "Insert iframe": "插入iframe" }
  • 虽然我们看到原本的语言包中的中文采用的是unicode编码,但我们并不是只能采用unicode编码,直接输入汉字也是可以的。

本文完~。

Vue集成tinymce富文本编辑器并实现本地化指南(2019.11.21最新)的更多相关文章

  1. vue集成百度富文本编辑器

    1.前期工作,访问百度富文本官网下载相应的百度富文本文件,根据后端用的技术下载相应的版本,建议下载最新版UTF-8版 (有图有真相,看图) https://ueditor.baidu.com/webs ...

  2. vue 集成百度富文本编辑器

    <template> <div> <textarea style="display:none" id="editor_content&quo ...

  3. vue集成ckeditor富文本框,怎么获取CKEditor实例?

    CKEDITOR 版本5 ,vue集成形式 vue集成ckeditor富文本框,由于不是通过js创建的富文本对象,所以,无法取得实例对象,官方说明 官方在builds-->Getting and ...

  4. 在 Vue 项目中引入 tinymce 富文本编辑器

    项目中原本使用的富文本编辑器是 wangEditor,这是一个很轻量.简洁编辑器 但是公司的业务升级,想要一个功能更全面的编辑器,我找了好久,目前常见的编辑器有这些: UEditor:百度前端的开源项 ...

  5. vue中引入Tinymce富文本编辑器

    最近想在项目上引入一个富文本编辑器,之前引入过summernote,感觉并不太适合vue使用, 然后在网上查了查,vue中使用Tinymce比较适合, 首先,我们在vue项目的components文件 ...

  6. Vue基于vue-quill-editor富文本编辑器使用心得

    vue-quill-editor的guthub地址,现在市面上有很多的富文本编辑器,我个人还是非常推荐Vue自己家的vue-quill-deitor,虽然说只支持IE10+,但这种问题,帅给别人吧! ...

  7. django2集成DjangoUeditor富文本编辑器

    富文本编辑器,在web开发中可以说是不可缺少的.django并没有自带富文本编辑器,因此我们需要自己集成,在这里推荐大家使用DjangoUeditor,因为DjangoUeditor封装了我们需要的一 ...

  8. tinymce 富文本编辑器 编写资料

    tinymce官方文档: 粘贴图片插件 博客搬运地址 使用Blob获取图片并二进制显示实例页面 tinymce自动调整插件 是时候掌握一个富文本编辑器了——TinyMCE(1) XMLHttpRequ ...

  9. 项目页面集成ckeditor富文本编辑器

    步骤一.引入ckeditor.js (注:本实例以ThinkPHP3.2框架为载体,不熟悉ThinkPHP的朋友请自行补习,ckeditor文件代码内容也请去ckeditor官网自行下载) 作为程序员 ...

随机推荐

  1. 使用onclick/表单submit跳转到其他页面

    使用onclick 如果是本页显示可以直接用location,方法如下: - onclick="javascript:window.location.href='URL'" - o ...

  2. php--php设计模式留存

    装饰者模式 <?php interface Decorator { public function display(); } class XiaoFang implements Decorato ...

  3. 16-jmeter-CLI模式(无图形界面)

    GUI和非GUI图形界面的使用区别: 非GUI界面:命令模式运行可以将实时的log文件保存到本地,位置可以自定义,不会占用太多资源,可以长时间运行. GUI图形界面:在运行时会消耗资源,且图形界面运行 ...

  4. 双色球的Python实现

    代码如下: red_ball = [] blue_ball = [] count = 0 while count < 6: n = int(input('\033[31mPlease enter ...

  5. php.ini配置文件详解(基于5.2.17版本)

    [PHP] ;;;;;;;;;;;;;;;;;;;; About php.ini ;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; 关于php.ini文件 ;;;;; ...

  6. 如何改变Xcode字体大小?

    运行Xcode后依次点击左上角Xcode/Preferences/Fonts & Colors里就可以调整,在右边随便点中一个字体就可以调整这个字体的大小和颜色了,按command+a可以将所 ...

  7. android学习笔记——使用QuickContactBadge关联联系人

    本文大部分内容来自<疯狂android讲义>. QuickContactBadge继承了ImageView,因此它的本质也是图片,也可以通过android:src属性指定它显示的图片.Qu ...

  8. 【DataBase】 在Windows系统环境 下载和安装 解压版MySQL数据库

    MySQL官网解压版下载地址:https://dev.mysql.com/downloads/mysql/ 为什么不推荐使用安装版?无脑下一步,很多配置的东西学习不到了 点选第一个就好了,下面的是调试 ...

  9. substr和substring之间的区别

    substr 和 substring都是JS 截取字符串函数,两者用法很相近,下面是两者的语法很示例: substr 方法 返回一个从指定位置开始的指定长度的子字符串.stringvar.substr ...

  10. D - A Game with Traps-- codeforces 1260D A

    题目大意: 一共有m个士兵,k个陷阱,时间为t,一个首领,这个首领需要在t时间内尽可能多的将士兵带到boos的面前, 第二行是每个士兵的灵敏度. 紧接着是k个陷阱,每个陷阱有l,,r,,d组成,l代表 ...