Vue集成tinymce富文本编辑器并实现本地化指南(2019.11.21最新)

本文介绍在Vue项目中集成tinymce富文本编辑器的方法,包括安装、注册组件、使用组件、下载中文语言包及汉化等步骤。通过官方包tinymce-vue简化流程,实现富文本编辑器的本地化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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编码,直接输入汉字也是可以的。

本文完~。

<think>好的,用户想在Vue项目中实现TinyMCE富文本编辑器的本地自托管,我需要一步步指导他们怎么做。首先,我得确认用户的需求,他们可能希望避免使用CDN,而是将TinyMCE的资源放在本地,这样可以更好地控制版本和加载速度。 首先,我需要让用户安装必要的npm包,比如@tinymce/tinymce-vue,这是TinyMCEVue组件。然后,用户需要下载TinyMCE的本地文件,可能从官网或者npm获取。这一步需要详细说明如何获取这些文件,放到项目的哪个目录下,比如public/tinymce。 接下来是配置Vue组件,用户需要在组件中引入TinyMCE的JS文件,设置正确的路径。这里要强调base_url的配置,指向本地资源的位置,否则可能加载失败。同时,要提醒用户可能需要配置Vue的webpack,确保静态资源正确打包。 然后,用户可能需要配置语言包,比如中文,这时候需要下载对应的langs文件,配置language选项。还有插件和工具栏的配置,这部分需要根据用户需求推荐常用插件,给出示例代码。 另外,自托管可能涉及到本地服务器的配置,比如使用Vue CLI的public目录,或者调整开发服务器的静态资源路径。需要提醒用户注意路径问题,避免404错误。 最后,部署时的注意事项,比如生产环境下路径的调整,可能需要使用process.env.BASE_URL来动态设置路径,确保在不同环境下都能正确加载资源。 用户可能遇到的问题包括路径配置错误、插件加载失败、语言包不生效等,需要在指南中提前预警这些常见问题,提供解决方案。比如检查文件路径是否正确,确认网络请求是否成功加载了本地资源。 还需要引用相关的参考资料,比如官方文档和社区最佳实践,帮助用户进一步解决问题。例如引用中的初始化配置和项目结构,确保用户按照正确步骤操作。 总之,步骤要清晰,从安装、配置、使用到部署,每个环节都要详细说明,给出代码示例,确保用户能够顺利实现自托管。</think>在Vue项目中实现TinyMCE富文本编辑器的本地自托管,可按照以下步骤操作: ### 一、环境准备 1. 安装依赖包 ```bash npm install @tinymce/tinymce-vue tinymce ``` 2. 下载TinyMCE本地文件 访问[TinyMCE官方下载页](https://www.tiny.cloud/get-tiny/self-hosted/),选择`Minified`版本下载,解压到项目目录: ``` public/tinymce ├── skins ├── themes └── tinymce.min.js ``` ### 二、Vue组件配置 ```vue <template> <Editor v-model="content" :init="initConfig" api-key="no-api-key" /> </template> <script> import tinymce from 'tinymce/tinymce' import Editor from '@tinymce/tinymce-vue' export default { components: { Editor }, data() { return { content: '', initConfig: { base_url: '/tinymce', // 本地资源路径[^2] skin_url: '/tinymce/skins/ui/oxide', language: 'zh_CN', plugins: 'link lists image code', toolbar: 'undo redo | bold italic | alignleft aligncenter alignright' } } }, mounted() { tinymce.init({}) // 必须初始化核心库[^1] } } </script> ``` ### 三、Webpack配置(vue.config.js) ```javascript module.exports = { chainWebpack: config => { config.module .rule('tinymce') .test(/\.js$/) .include.add(/node_modules(?:\/|\\)tinymce/) .end() .use('imports-loader') .loader('imports-loader') .options({ imports: ['default tinymce/tinymce'] }) } } ``` ### 四、本地服务器配置 1. 开发环境:确保本地服务器能访问`public/tinymce`目录 2. 生产环境:将tinymce文件夹与构建产物一起部署 ### 五、进阶配置 1. **语言包本地化**: - 下载`zh_CN.js`语言文件至`public/tinymce/langs` - 设置`language: 'zh_CN'` 2. **自定义插件**: ```javascript initConfig: { external_plugins: { 'customPlugin': '/plugins/custom/plugin.js' } } ``` ### 注意事项 1. 路径问题:生产环境建议使用动态路径 ```javascript base_url: process.env.NODE_ENV === 'production' ? '/static/tinymce' : '/tinymce' ``` 2. 版本控制:建议锁定tinymce版本 ```json "dependencies": { "tinymce": "^6.8.2" } ``` : 引用自TinyMCE官方初始化配置文档 : 参考dillinger项目的静态资源部署方案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值