Vue集成tinymce富文本编辑器并实现本地化指南(2019.11.21最新)
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最新)的更多相关文章
- vue集成百度富文本编辑器
1.前期工作,访问百度富文本官网下载相应的百度富文本文件,根据后端用的技术下载相应的版本,建议下载最新版UTF-8版 (有图有真相,看图) https://ueditor.baidu.com/webs ...
- vue 集成百度富文本编辑器
<template> <div> <textarea style="display:none" id="editor_content&quo ...
- vue集成ckeditor富文本框,怎么获取CKEditor实例?
CKEDITOR 版本5 ,vue集成形式 vue集成ckeditor富文本框,由于不是通过js创建的富文本对象,所以,无法取得实例对象,官方说明 官方在builds-->Getting and ...
- 在 Vue 项目中引入 tinymce 富文本编辑器
项目中原本使用的富文本编辑器是 wangEditor,这是一个很轻量.简洁编辑器 但是公司的业务升级,想要一个功能更全面的编辑器,我找了好久,目前常见的编辑器有这些: UEditor:百度前端的开源项 ...
- vue中引入Tinymce富文本编辑器
最近想在项目上引入一个富文本编辑器,之前引入过summernote,感觉并不太适合vue使用, 然后在网上查了查,vue中使用Tinymce比较适合, 首先,我们在vue项目的components文件 ...
- Vue基于vue-quill-editor富文本编辑器使用心得
vue-quill-editor的guthub地址,现在市面上有很多的富文本编辑器,我个人还是非常推荐Vue自己家的vue-quill-deitor,虽然说只支持IE10+,但这种问题,帅给别人吧! ...
- django2集成DjangoUeditor富文本编辑器
富文本编辑器,在web开发中可以说是不可缺少的.django并没有自带富文本编辑器,因此我们需要自己集成,在这里推荐大家使用DjangoUeditor,因为DjangoUeditor封装了我们需要的一 ...
- tinymce 富文本编辑器 编写资料
tinymce官方文档: 粘贴图片插件 博客搬运地址 使用Blob获取图片并二进制显示实例页面 tinymce自动调整插件 是时候掌握一个富文本编辑器了——TinyMCE(1) XMLHttpRequ ...
- 项目页面集成ckeditor富文本编辑器
步骤一.引入ckeditor.js (注:本实例以ThinkPHP3.2框架为载体,不熟悉ThinkPHP的朋友请自行补习,ckeditor文件代码内容也请去ckeditor官网自行下载) 作为程序员 ...
随机推荐
- MySQL(Linux)编码问题——网站刚刚上线就被光速打脸
MySQL(Linux)编码问题--刚刚上线就被光速打脸 MySql默认编码问题 总结了一下,大致是这样的 修改数据库配置 在URL上加载参数 MySql默认编码问题 说到这里真的想哭,改了无数bug ...
- 完整微信小程序授权登录页面教程
完整微信小程序授权登录页面教程 1.前言 微信官方对getUserInfo接口做了修改,授权窗口无法直接弹出,而取而代之是需要创建一个button,将其open-type属性绑定getUseInfo方 ...
- hadoop+zookeeper集群高可用搭建
hadoop+zookeeper集群高可用搭建 Senerity 发布于 2 ...
- Java第二十六天,多线程等待换新机制(严格执行化)
代码: 1.老板类: package com.lanyue.day26; public class bossRunnable implements Runnable { public myLock l ...
- JS入门系列(1)-原型-函数原型
实例1: 首先定义一个Persion类或者说是函数 var p1 = Persion();:表示,作为普通函数调用 var p2 = new Persion();:表示,作为构造器调用 创建函数之后, ...
- Git应用详解第七讲:Git refspec与远程分支的重要操作
前言 前情提要:Git应用详解第六讲:Git协作与Git pull常见问题 这一节来介绍本地仓库与远程仓库的分支映射关系:git refspec.彻底弄清楚本地仓库到底是如何与远程仓库进行联系的. 一 ...
- Node.js 的事件循环机制
目录 微任务 事件循环机制 setImmediate.setTimeout/setInterval 和 process.nextTick 执行时机对比 实例分析 参考 1.微任务 在谈论Node的事件 ...
- 新版本Xcode 6的视图调试详解
开发者会经常遇到视图或者Auto Layout约束中存在bug的情况,并且这种bug很难通过代码发现,所以开发者很有必要熟知如何进行简单高效的视图调试,而Xcode 6的发布使得视图调试变得前所未有的 ...
- 如何在Ubuntu 18.04上安装Nginx
Nginx功能之强大,想必大家比我更清楚. 百度百科:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔 ...
- redis: 事务管理(九)
redis的事务 不保证原子性 三个步骤:开启事务.命令入队.执行事务 开启事务:multi 执行事务:exec 127.0.0.1:6379> multi #开启事务 OK 127.0.0.1 ...