在Vue2.0中集成UEditor 富文本編輯器

来源:https://www.cnblogs.com/xiahj/archive/2018/03/02/8493722.html
-Advertisement-
Play Games

在vue的’項目中遇到了需要使用富文本編輯器的需求,在github上看了很多vue封裝的editor插件,很多對圖片上傳和視頻上傳的支持並不是很好,最終還是決定使用UEditor。 這類的文章網上有很多,我進行了摸索、手寫代碼、彙總、排版,形成了這篇文章。 下載對應的UEditor源碼 首先,去官網 ...


在vue的’項目中遇到了需要使用富文本編輯器的需求,在github上看了很多vue封裝的editor插件,很多對圖片上傳和視頻上傳的支持並不是很好,最終還是決定使用UEditor。

這類的文章網上有很多,我進行了摸索、手寫代碼、彙總、排版,形成了這篇文章。

下載對應的UEditor源碼

首先,去官網上下載UEditor的源碼,根據你後臺語言的不同下載對應的版本(PHP、Asp、.Net、Jsp),下載地址

下載之後,把資源放到 /static/ue/ 靜態目錄下。文檔結構如下:

(我把UEditor放到了static靜態目錄下麵,這裡的文件不會被webpack打包,當然你也可以選擇性地放進src中)

編輯 UEditor 編輯器 配置文件

我們打開 ueditor.config.js,修改其中的window.UEDITOR_HOME_UR配置,如下:

window.UEDITOR_HOME_URL = "/static/UE/";     //指定編輯器資源文件根目錄
var URL = window.UEDITOR_HOME_URL || getUEBasePath();

ueditor.config.js文件有很多配置,可以在這裡進行一些初始化的全局配置,比如編輯器的預設寬高等:

,initialFrameWidth:1000  //初始化編輯器寬度,預設1000
,initialFrameHeight:320  //初始化編輯器高度,預設320

其他的參數配置,在該文件中有詳細列出,或者參考官方文檔 http://fex.baidu.com/ueditor/

將編輯器集成到系統中

打開 /src/main.js 文件,插入下麵的代碼:

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

開發公共組件 UE.vue

我們在 /src/components/ 目錄下創建 UE.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>

組件暴露了兩個介面:
value是編輯器的文字
config是編輯器的配置參數

在其他頁面中使用該組件

簡單地創建一個需要UEditor的頁面,再該頁面中使用剛纔封裝好的UE.vue組件:

<template>
    <div>
        <Uediter :value="ueditor.value" :config="ueditor.config" ref="ue"></Uediter>
        <button @click="returnContent">顯示編輯器內容</el-button>
        <div>{{dat.content}}</div>
    </div>
</template>
<script>
    import Uediter from '@/components/UE.vue';

    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>

效果如下:

What's more: 服務端需要做的配置

配置完上述內容後,控制台可能會出現"後臺配置項返回格式出錯,上傳功能將不能正常使用!"的報錯,
我們在編輯器中上傳圖片或者視頻,也會出現響應的報錯,這是因為沒有配置伺服器的請求介面,在ueditor.config.js中,對serverUrl進行配置:

// 伺服器統一請求介面路徑
, serverUrl: 'http://172.16.254.49:83/File/UEditor'   //地址管你們後端要去

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這是效果圖 看起來很簡單是不是 之前一直寫Jquery代碼 總是想著 DOM 操作 思維感覺沒有切換過來 想了很久,最後使用Vue的屬性進行控制,實現了多選計算屬性的功能 直接上源碼! index.html index.js style.css 這樣的功能使用Vue,代碼簡單易懂,相對於原生代碼,無 ...
  • 一、文本樣式 首行縮進 text-indent 首行縮進是將段落的第一行縮進,這是常用的文本格式化效果。一般地,中文寫作時開頭空兩格。[註意]該屬性可以為負值;應用於: 塊級元素(包括block和inline-block) 字間隔 word-spacing 字間隔是指單詞間距,用來設置文字或單詞之間 ...
  • 什麼是Jquery? Jquey就是一款 跨主流瀏覽器的JavaScript庫,簡化JavaScript對HTML操作 就是封裝了JavaScript,能夠簡化我們寫代碼的一個JavaScript庫 為什麼要使用Jquery? 我覺得非常重要的理由就是: 它能夠相容市面上主流的瀏覽器, 我們學習AJ ...
  • 最近做了幾個項目,用js操作二進位數據,通過socket與後臺進行傳輸。在此用博客做個記錄 首先是新建一個socket: 接著定義socket打開,連接之後執行的函數: websocket有個屬性binaryType,可將其設置為“blob”或者“arraybuffer”,預設格式為“blob”,做 ...
  • 自己簡單總結了一下,歡迎大家補充! ...
  • 經過非常非常長無聊的流程,只是將獲取到的module信息做了一些緩存,然後生成了loaderContext對象。 這裡上個圖整理一下這節的流程: 這一節來看webpack是如何將babel-loader與js文件結合的,首先總覽一下runLoaders函數: 傳入的4個參數都很直白: 1、待處理文件 ...
  • 1.首先跟平常一樣創建一個vue的項目 2.開始配置vux 第一步 安裝vux 第二步 安裝vux-loader 第三歩 安裝less,如果之前有安裝,這一步就省略掉。 可以在package.json 中查看 第四歩 找到在build文件夾下webpack.base.conf.js 文件 如下圖:改 ...
  • 一. 安裝以及環境配置 安裝路徑 http://nodejs.cn/download/ 多種環境選擇 環境變數的配置 Step1 先檢查環境變數中的系統變數裡面的path,查看是否加入了node.js 例如我的node.js安裝路徑是C:\Program Files\nodejs 那麼,這個path ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...