vue中使用Ueditor編輯器


  一、   下載包:

    從Ueditor的官網下載1.4.3.3jsp版本的Ueditor編輯器,官網地址為:

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

     下載解壓后會得到如果下文件目錄:

       

 

    將上述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.   出現如下報錯

   

 

  出現此種現象的原因是配置ueditor的圖片以及文件的后台上傳接口不正確;

  如果Ueditor不需要使用文件以及圖片的上傳則在ueditor.config.js中進行如下配置:(將serverUrl注釋掉)

  // 服務器統一請求接口路徑

  // serverUrl: URL + "jsp/controller.jsp",

  以后將不會再出現上述報錯,但是也將無法進行圖片的上傳:如下圖:

 

   

  如果Ueditor需要使用文件以及圖片的上傳則在ueditor.config.js中進行如下配置:

  // 服務器統一請求接口路徑,配置的服務端接口

          serverUrl: "http://127.0.0.1:9999/api/UE",

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

          serverUrl: "/api/ue",

 

  六、   如果使用的是node的express做服務端,接口開發如下

    首先下載編輯器包

    npm install –save-dev ueditor

 

  服務端項目文件中在public中增加如下目錄以及文件

     

 

 

    注: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'

                }

            }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM