vue-cli中如何集成UEditor 富文本编辑器?

1.根据后台语言下载对应的editor插件版本

  地址:https://ueditor.baidu.com/website/download.html

2.将下载好的资源放在/static/ueditor目录下

  

   修改ueditor.config.js配置文件:

    《a》指定编辑器资源文件根目录

      window.UEDITOR_HOME_URL = "/static/ueditor/";
      var URL = window.UEDITOR_HOME_URL || getUEBasePath();
    
    《b》服务器需要做的配置

      出现如下错误:后台配置项返回格式出错,上传功能将不能正常使用!

      原因没有配置服务器的请求接口

        // 服务器统一请求接口路径
        serverUrl: "http://192.168.1.211:8888/api/private/v1/UEditor"

3.将编辑器集成到项目中

  《1》src/main.js

import '../static/ueditor/ueditor.config.js'
import '../static/ueditor/ueditor.all.min.js'
import '../static/ueditor/lang/zh-cn/zh-cn.js'
import '../static/ueditor/ueditor.parse.min.js'

  《2》src/components/ueditor/index.vue  封装一个公用组件

<template>
  <div>
    <script id="editor" type="text/plain"></script>
  </div>
</template>
<script>
export default {
  name: "ue",
  data() {
    return {
      editor: null
    };
  },
  props: {
    value: "", //编辑器文字
    config: {} //编辑器的配置参数
  },
  mounted() {
    this.editor = window.UE.getEditor("editor", this.config);
    this.editor.addListener("ready", () => {
      this.editor.setContent(this.value);
    });
  },
  methods: {
    getUEContent() {
      return this.editor.getContent();
    }
  },
  destroyed() {
    this.editor.destroy();
  }
};
</script>

<style lang='scss' scoped>
</style>

  《3》其他页面使用

<template>
  <div>
    <Uediter :value="ueditor.value" :config="ueditor.config" ref="ue"></Uediter>
    <el-button @click="returnContent">显示编辑器内容</el-button>
    <div>{{dat.content}}</div>
  </div>
</template>
<script>
import Uediter from "@/components/ueditor";
export default {
  data() {
    return {
      dat: {
        content: ""
      },
      ueditor: {
        value: "欢迎观看",
        config: {
          initialFrameWidth: 800,
          initialFrameHeight: 320
        }
      }
    };
  },
  methods: {
    returnContent() {
      this.dat.content = this.$refs.ue.getUEContent();
    }
  },
  components: {
    Uediter
  }
};
</script>

通过以上几个步骤即可完成:

  

 

原文地址:https://www.cnblogs.com/changxue/p/10747899.html