前端踩坑之TinyMCE富文本编辑器表情插件报错解决

最近项目中需要使用文本编辑器,比较了下最终选择了TinyMCE这款富文本编辑器。
我安装的是TinyMCE v5但是在使用表情插件的时候,表情一直都出不来,报错信息如下:

Uncaught SyntaxError: Unexpected token '<'
Failed to load emoticons: Script at URL
 "http://xxxx/static/js/plugins/emoticons/js/emojis.js" did not call
 `tinymce.Resource.add('tinymce.plugins.emoticons', data)` within 1 second

这个是路径出问题了,导致emojis.js没有被正确导入,所以表情也就没有出来。
经过测试,发现解决办法是设置emoticons_database_url
先把emojis.js放在public目录下(注:vue-cli2是static目录),然后设置emoticons_database_url为public下emojis.js的路径。
完整代码如下:
template:

<template>
  <div>
  <editor
    id="tinymce"
    v-model="tinymceHtml"
    :init="editorInit"
  >
  </editor>
  </div>
</template>

script:

<script>
  import tinymce from 'tinymce/tinymce'
  import Editor from '@tinymce/tinymce-vue'
  import 'tinymce/plugins/emoticons'//插入表情插件
  export default{
    componens:{Editor},
    data(){
      return {
        editorInit:{
          height: 300,
          plugins: 'emoticons',
          emoticons_database_url: '/emojis.js',
          toolbar:'undo redo |  formatselect | emoticons | removeformat',
        }
      }
    }
  }
</script>

最后出来的效果如下:
在这里插入图片描述


版权声明:本文为u010007013原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。