在vue项目中使用tinymce编辑器(tinymce-vue)

栏目: JavaScript · 发布时间: 6年前

内容简介:项目使用vue-cli 3.x版本,tinymce5出现的问题和摸索出的解决方案(参考了步骤:

tinymce-vue笔记

项目使用vue-cli 3.x版本,tinymce5

1. 安装

npm install @tinymce/tinymce-vue

2. 引用

出现的问题和摸索出的解决方案(参考了 https://www.cnblogs.com/wisewrong/p/8985471.html ,虽然文章里使用的是tinymce4,但是也有很大帮助)

  • 报第一个错,发现只安装tinymce-vue不可以,还需安装tinymce,执行
npm install tinymce
  • 按示例初始化发现编辑器不显示,报“ theme.js:1 Uncaught SyntaxError: Unexpected token < ”这个错,需要手动引入tinymce主题,在init({})方法里加 theme: 'silver', 没用。
import 'tinymce/themes/silver/theme'
  • 不报错了但是编辑器还是不显示,继续研究,发现还需要定义skin_url,在init({})里加 skin: "oxide" 没用。先在public目录下新建一个文件夹命名为tinymce,然后在node_modules里找到tinymce的skin包,复制到public/tinymce里,然后创建tinymce时添加一行代码
skin_url: '/tinymce/skins/ui/oxide',

3. 定制

  • 将语言改为中文

步骤:

  1. 在官网下载语言包 https://www.tiny.cloud/get-tiny/language-packages/
  2. 把下载的语言包放到之前新建的tinymce文件夹里
  3. 初始化时添加以下代码
language_url: `/tinymce/langs/zh_CN.js`,
      language: 'zh_CN',
  • 在tinymce5 工具 栏添加自定义功能按钮
const that = this
    this.tinymceInit = {
    toolbar: 'imageUpload',
      setup: (editor) => {
        editor.ui.registry.addButton('imageUpload', {
          tooltip: '插入图片',
          icon: 'image',
          onAction: () => {
            let upload = that.$refs.imageUpload
            upload.handleClick()
          }
        })
      }
    }

上面代码是添加插入图片按钮,借助iview的Upload组件,将图片先上传到存储云上,再将图片的存储地址放入编辑器内容。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

形式感+:网页视觉设计创意拓展与快速表现

形式感+:网页视觉设计创意拓展与快速表现

晋小彦 / 清华大学出版社 / 2014-1-1 / 59.00元

网页设计师从早年的综合性工作中分化出来,形成了相对独立的专业岗位,网页设计也不再是单纯的软件应用,它衍生出了许多独立的研究方向,当网站策划、交互体验都逐渐独立之后,形式感的突破和表现成为网页视觉设计的一项重要工作。随着时代的发展,网页设计更接近于一门艺术。网络带宽和硬件的发展为网页提供了使用更大图片、动画甚至视频的权利,而这些也为视觉设计师提供了更多表现的空间。另外多终端用户屏幕(主要是各种移动设......一起来看看 《形式感+:网页视觉设计创意拓展与快速表现》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具