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

ppylox
·3/14/2020·0 阅读
AI 摘要模型根据正文自动生成,仅供参考

在Vue项目中引入TinyMCE富文本编辑器,需安装@tinymce/tinymce-vue和tinymce,将skins目录及中文语言包拷贝至static或public目录。页面引入tinymce、Editor组件及silver主题,注册组件后在data中配置init对象,设置语言包与skin路径(skin必须引用否则不显示),并配置高度、插件、工具栏等。mounted中调用tinymce.init初始化,按需导入image、link、code、table等插件并在plugins中添加。

1、tinymce 官方为 vue 项目提供了一个组件 tinymce-vue

2、npm安装vue组件,同时安装源插件

npm i @tinymce/tinymce-vue -S、npm i tinymce -S

3、安装之后,在 node_modules 中找到 tinymce/skins 目录,然后将 skins 目录拷贝到 static 目录下,如果是使用 vue-cli 3.x 构建的项目,就放到 public 目录下

4、tinymce 默认是英文界面,所以如果需要汉化还需要下载一个中文语言包,然后将它放到 static 目录下

5、在页面中引入以下文件:

import tinymce from ‘tinymce/tinymce’\nimport Editor from ‘@tinymce/tinymce-vue’\nimport ‘tinymce/themes/silver/theme’

6、tinymce-vue 是一个组件,需要在 components 中注册后直接使用

7、在data中声明init变量,语言包、skin的路径就引用之前的存放路径,注意skin必须引用,否则不显示。

init: {\n  language_url: ‘/static/tinymce/langs/zh_CN.js’,\n  language: ‘zh_CN’,\n  skin_url: ‘/static/tinymce/skins/ui/oxide’, // skin路径\n  height: 300, // 编辑器高度\n  branding: false, // 是否禁用“Powered by TinyMCE”\n  menubar: true, // 顶部菜单栏显示\n  plugins: ‘link lists image code table colorpicker \n  textcolor wordcount contextmenu’,\n  toolbar: ‘bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft \n  aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | removeformat’\n}

8、在 mounted 中初始化:

tinymce.init({})

9、加载插件,需要什么插件就导入什么插件,同时在init对象里面的plugins添加即可

import ‘tinymce/plugins/image’\nimport ‘tinymce/plugins/link’\nimport ‘tinymce/plugins/code’\nimport ‘tinymce/plugins/table’\nimport ‘tinymce/plugins/lists’\nimport ‘tinymce/plugins/contextmenu’\nimport ‘tinymce/plugins/wordcount’\nimport ‘tinymce/plugins/colorpicker’\nimport ‘tinymce/plugins/textcolor’


相关文章

评论 (0)

暂无评论,来写第一条吧