使用vue-cli3.0+element-ui+webpack作項目時,遇到了一個需求:文章管理中添加富文本編輯器(暫未添加上傳圖片功能),在百度上查看到好幾個富文本編輯器,最終選擇了百度的Ueditor
,基本能知足全部需求。通過多番採坑以後,已實現相關功能,特此作一個記錄。html
首先去Ueditor官網下載相關資源(本文下載的1.4.3.3Jsp版本): vue
這裏主要針對vue-cli2
與
vue-cli3
進行區分。
vue-cli2
版本中會生成一個static
文件夾,用於放置靜態資源,將下載的壓縮包解壓後放入static
文件夾中: webpack
vue-cli3
在項目初始化時會生成一個public
文件夾(public文件夾使用場景,public
文件夾中的文件不會被webpack打包編譯,只是簡單的複製到打包後的dist
文件夾中)。將下載的壓縮包解壓並重命名UE
放入public
文件夾中: git
先安裝vue-ueditor-wrap
,而後在相關組件中引入vue-ueditor-wrap
github
npm i vue-ueditor-wrap -D
複製代碼
在相關組件中註冊並引入:web
重點主要在myconfig
配置參數上(詳細配置參數見UE/ueditor.config.js
),在vue-cli2
與vue-cli3
上略顯不一樣。vue-cli
項目使用vue-cli2
進行搭建而且將UE
文件夾複製到了static
文件夾中(如第一點所示),UEDITOR_HOME_URL
配置爲:npm
ueditor.config.js
中的UEDITOR_HOME_URL爲
'/UE/'
使用vue-cli3
的UEDITOR_HOME_URL
配置爲:element-ui
ueditor.config.js
中的
UEDITOR_HOME_URL
爲
'/static/UE/'
上述步驟無誤的話,最終顯示結果應爲:
該Ueditor中的內容長度(在這裏僅以vue
雙向綁定爲例)都是按照1個字符長度進行計算的,如插入一個表情顯示長度爲1:bash
ueditor.all.js
或者
ueditor.all.min.js
的源碼。
ueditor.all.js
的方式在ueditor.all.js
文件中全局查找getContentLength
:
ueditor.all.min.js
文件便可
ueditor.all.min.js
的方式該方式比較簡單粗暴,直接在ueditor.all.min.js
中全局搜索getContentLength
並刪除高亮部分:
如在配置中出現下圖相似問題:
請仔細檢查配置參數UEDITOR_HOME_URL
路徑是否正確。仔細檢查!仔細檢查!仔細檢查!重要的事情說三遍~
但願本文能幫助到有須要的你~