vue中使用Ueditor编辑器

vue中使用Ueditor编辑器

 

  一、   下载包:

    从Ueditor的官网下载1.4.3.3jsp版本的Ueditor编辑器,官网地址为:

      http://ueditor.baidu.com/website/

     下载解压后会得到如果下文件目录:

       vue中使用Ueditor编辑器

 

    将上述Ueditor文件夹拷贝到vue项目的static文件夹中,此文件夹为项目的静态服务文件夹;

 

  二、   修改配置

    在ueditor.config.js中修改如下代码:

 

    // 这里是配置Ueditor内部进行文件请求时的静态文件服务地址

        window.UEDITOR_HOME_URL = “/static/Ueditor/”

    var URL = window.UEDITOR_HOME_URL || getUEBasePath();

 

 

  三、   文件的引入

    在vue项目的入口文件main.js中将Ueditor所有的基础文件引入如下:(路径自行配制)

 

    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’

 

  四、   在相应vue的componnent文件中使用富文本编辑器

 

    <template>

    <div>

    <!–editor的div为富文本的承载容器–>

    <divid=”editor”></div>

    <buttontype=”” @click=”gettext”>点击</button>

    </div>

    </template>

    <script>

    exportdefault {

            data() {

        return {

                    editor: null,

               }

          },

          mounted() {

      // 实例化editor编辑器

      this.editor = UE.getEditor(‘editor’);

      // console.log(this.editor.setContent(“1223”))

          },

          methods: {

              gettext() {

      // 获取editor中的文本

                  console.log(this.editor.getContent())

              }

          },

        destroyed() {

  // 将editor进行销毁

  this.editor.destroy();

          }

      }

 </script>

  五、   执行上述代码可能会出现的问题

  1. 1.   出现如下报错

   vue中使用Ueditor编辑器

 

  出现此种现象的原因是配置ueditor的图片以及文件的后台上传接口不正确;

  如果Ueditor不需要使用文件以及图片的上传则在ueditor.config.js中进行如下配置:(将serverUrl注释掉)

  // 服务器统一请求接口路径

  // serverUrl: URL + “jsp/controller.jsp”,

  以后将不会再出现上述报错,但是也将无法进行图片的上传:如下图:

 vue中使用Ueditor编辑器

   

  如果Ueditor需要使用文件以及图片的上传则在ueditor.config.js中进行如下配置:

  // 服务器统一请求接口路径,配置的服务端接口

          serverUrl: “http://127.0.0.1:9999/api/UE”,

  //或者如果使用了代理,则可以如下进行配置

          serverUrl: “/api/ue”,

 

  六、   如果使用的是node的express做服务端,接口开发如下

    首先下载编辑器包

    npm install –save-dev ueditor

 

  服务端项目文件中在public中增加如下目录以及文件

     vue中使用Ueditor编辑器

 

 

    注:ueditor中的images文件夹是上传图片后存储的地方

    nodejs中的config.js就是下载的ueditor包的jsp文件夹下config.json文件

  开发接口

  //加载ueditor 模块

  var ueditor = require(“ueditor”);

  //使用模块

  app.use(“/api/ue”, ueditor(path.join(__dirname, ‘public’), function(req, res, next) {

  // ueditor 客户发起上传图片请求

  if (req.query.action === ‘uploadimage’) {

  var foo = req.ueditor;

 

  var imgname = req.ueditor.filename;

 

  var img_url = ‘/ueditor/images/’;

          res.ue_up(img_url); //你只要输入要保存的地址。保存操作交给ueditor来做

          res.setHeader(‘Content-Type’, ‘text/html’); //IE8下载需要设置返回头尾text/html 不然json返回文件会被直接下载打开

    }

  //  客户端发起图片列表请求

  elseif (req.query.action === ‘listimage’) {

  var dir_url = ‘/ueditor/images/’;

          res.ue_list(dir_url); // 客户端会列出 dir_url 目录下的所有图片

      }

  // 客户端发起其它请求

  else {

          console.log(‘config.json’)

 

        res.setHeader(‘Content-Type’, ‘application/json’);

        res.redirect(‘/ueditor/nodejs/config.js’);

    }

}));

 

 

  注:

  上述接口中的”/api/ue”接口就是配置在前台项目ueditor.config.js文件中的serverUrl地址;

  上述接口中img_url的’/ueditor/images/’和res.redirect的’/ueditor/nodejs/config.js’配置都是使用的express静态文件服务对图片存储路径和图片默认配置文件的存储和请求;

  进行上述配置后,一定要在webpack的代理中添加如下代理:

  // 配置ueditor的图片上传服务器预览路径

  ’/ueditor’: {

    //后台接口地址

                target: ‘http://localhost:9999’,

    //这里可以模拟服务器进行get和post参数的传递

                changeOrigin: true,

    //前端所有的/ueditor’请求都会请求到后台的/ueditor’路径之下

                pathRewrite: {

      ’^/ueditor’: ‘/ueditor’

                }

            }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113781.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月11日 下午3:00
下一篇 2021年10月11日 下午4:00


相关推荐

  • Photoshop裡使用Nano Banana教學|選擇外部AI模型

    Photoshop裡使用Nano Banana教學|選擇外部AI模型

    2026年3月13日
    2
  • 【iOS安全】App Store 应用爬取「建议收藏」

    【iOS安全】App Store 应用爬取「建议收藏」AppStore应用爬取

    2022年7月15日
    34
  • SQL经典语句大全及应用示例汇总

    SQL经典语句大全及应用示例汇总SQL经典语句大全及应用示例汇总无论您是一位SQLsever的新手,或是一位只是需要对SQL复习一下的资料仓储业界老将,您就来对地方了。本期专题精选了SQl语句、SQL语法、实例和教程等经典相关资源,助您SQL语句学习快速入门,让您一次看个够。可以下载附件留存~资源名称资源地址SQL语句大全【经典教程】…

    2022年5月15日
    36
  • 什么是AOP?

    什么是AOP?AOP 是一种面向切面的编程 是基于动态代理的 对原有代码毫无入侵性 把和主业务无关的事情 放到代码外面去做 所以当你下次发现某一行代码经常在你的 Controller 里出现 比如方法入口日志打印 那就要考虑使用 AOP 来精简你的代码了 也可以用一句话去概括 在运行时 动态地将代码切入到类的指定方法 指定位置上的编程思想就是面向切面的编程 AOP 分为五种通知类型 分别是前置通知 正常返回通知 异

    2026年3月19日
    2
  • git和github gitlab的区别_gitlab和git区别

    git和github gitlab的区别_gitlab和git区别GitHub是在线代码仓库,全世界只有GitHub一家,大家把代码存储在人家的服务器上。Gitlab相当于小型的GitHub,你可以在本地搭建一个属于你自己的类似GitHub仓库,让小伙伴把代码存储在上面,这样代码只有你们几个人能看见,但是你要存在GitHub上,全世界都能看见git是一种版本控制系统,是一个命令,是一种工具gitlib是用于实现git功能的开发库github是一个基于git实现的在线代码仓库,包含一个网站界面,向互联网开放gitlab是一个基于git实现的在线代码仓

    2025年8月9日
    9
  • nginx设置301永久重定向

    nginx设置301永久重定向

    2021年10月27日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号