Vue環(huán)境下tinymce簡(jiǎn)易教程(優(yōu)化圖片上傳+powerpaste插件配置指南+主題切換與生成)

環(huán)境

VUE webpack tinymce4

額外插件

  1. 用于優(yōu)化本地圖片上傳的第三方插件:tinymce-imageupload
  2. 用于加強(qiáng)word源復(fù)制粘帖的官方插件(這是收費(fèi)插件疑枯,我這里不提供資源屠橄,只是教大家怎么配置):wordpress

開擼

安裝tinymce-vue

npm install @tinymce/tinymce-vue -S

安裝tinymce 4.x.x

npm install tinymce@4.5.10 -S

安裝好之后第焰,需要將node_modules目錄下面的tinymce/skins目錄放到一個(gè)可以訪問到的地方(一般來說是static目錄逃魄,也可以是CDN之類的,反正能訪問到就行)

<u>特別注意:本文內(nèi)容是基于tinymce4所搭建的滓技,現(xiàn)在最新的已經(jīng)是5.x.x的版本了竣稽,結(jié)構(gòu)目錄有所改變,需要調(diào)整skin_url和導(dǎo)入對(duì)應(yīng)的主題磷支。</u>

安裝中文語言包

官網(wǎng)語言包下載地址
選擇你想要的語言下載即可(別跟我說不認(rèn)識(shí)Chinese (China)
下載后將得到zh_CN.js文件(以簡(jiǎn)體中文為例),同樣食寡,放到一個(gè)你能訪問到的地方(static目錄或CDN)

引入依賴項(xiàng)

import tinymce from 'tinymce/tinymce';
import 'tinymce/themes/modern/theme';   //  具體有有些默認(rèn)主題雾狈,可以在`node_modules`的`tinymce`下找到(這個(gè)據(jù)我所知,也是必須要引入的)
import Editor from '@tinymce/tinymce-vue';

初始化編輯器

添加配置對(duì)象:

content: '',
editorInit: {
  language: 'zh_CN',    //  指定語言
  language_url: '/static/tinymce/zh_CN.js', //  指定語言包地址
  skin_url: '/static/tinymce4/skins/lightgray', //  指定主題地址(必須項(xiàng)抵皱,否則編輯器不能成功渲染出來)
  height: 300
}

在templete中添加一個(gè)Editor元素

<editor v-model='content' :init='editorInit'></editor>

完成善榛!應(yīng)該就可以看到頁面能成功將編輯器渲染出來了。

添加插件

tinymce已自帶了很多常用插件呻畸,但是很多默認(rèn)是不啟用的移盆,需要主動(dòng)引用并配置才行,這里我們以添加全屏插件fullscreen為例:

  1. 引入
import 'tinymce/plugins/fullscreen';

editorInit中配置

editorInit: {
  ...
  plugins: "fullscreen",    //  多個(gè)插件擂错,用空格分隔
  ...
}

常用配置

editorInit: {
  ...
  statusbar: false, //  是否顯示底部狀態(tài)欄
  menubar: false,   //  配置菜單欄(設(shè)置為false則隱藏)
  toolbar: "fullscreen | bold italic",   //  工具之間用空格分隔味滞,| 表示顯示一個(gè)分塊符
  //    editor為當(dāng)前編輯器的實(shí)例對(duì)象
  setup: function(editor) {
    //  這里為給編輯器綁定一個(gè)單擊事件
    editor.on('click', function(e) {
      console.log('Editor was clicked');
    });
  }
  }
  ...
}

支持粘帖圖片

  1. 引入
import 'tinymce/plugins/paste'
  1. 添加配置
editorInit: {
  ...
  paste_data_images: true,  //  設(shè)置為允許粘帖圖片
  //    上傳方式1:填寫images_upload_url和images_upload_base_path
  images_upload_url: '/upload', //  圖片上傳地址
  images_upload_base_path: '/some/basepath',
  //    上傳方式2(建議這種):自定義上傳邏輯
  images_upload_handler: function (blobInfo, success, failure) {
  }
  ...
}

優(yōu)化圖片上傳

其實(shí)我覺得開啟支持粘帖圖片和powerpaste之后,就不需要這個(gè)了钮呀。如果有這方面的需求剑鞍,可以參考這個(gè)。安裝比較簡(jiǎn)單爽醋,給個(gè)github地址蚁署,自己看下吧,和普通plugins基本無異蚂四。
https://github.com/x-shadow-x/tinymce-imageupload
效果圖:

image

PS:這個(gè)插件在tinymce5上無法使用光戈,而且配置上不是那么的靈活,如果想用遂赠,建議基于改插件久妆,做一些修改。

添加powerpaste插件

  1. 需要自行下載好對(duì)應(yīng)版本的powerpaste(實(shí)在找不到可以私信我)跷睦,我下載的是powerpast4.0.1-317
    image
  2. 放到一個(gè)一個(gè)你能訪問到的地方
  3. 很重要的一步筷弦,我看到網(wǎng)上很多“教程”說如果是用npm安裝tinymce不能使用powerpaste,其實(shí)呢,只要花點(diǎn)心思讀讀官方文檔烂琴,就可以發(fā)現(xiàn)爹殊,其實(shí)是可以的,只要利用external_plugins配置一下就OJBK了
editorInit: {
  ...
  //    添加擴(kuò)展插件
  external_plugins: {
    'powerpaste': '/static/tinymce/powerpaste/plugin.min.js'
  }
  powerpaste_word_import: 'propmt',// 參數(shù)可以是propmt, merge, clear奸绷,效果自行切換對(duì)比
  powerpaste_html_import: 'propmt',// propmt, merge, clear
  powerpaste_allow_local_images: true,
  ...
}
  1. powerpaste詳細(xì)配置項(xiàng)可以再參考powerpaste插件使用手冊(cè)
  2. 添加好之后梗夸,當(dāng)從word復(fù)制內(nèi)容到tinymce時(shí),便會(huì)提示是否要保留格式:


    image

PS:如果是從WPS復(fù)制帶有圖片的內(nèi)容号醉,會(huì)無法成功粘帖圖片反症,從office復(fù)制是可以的。

切換/生成主題

主題生成網(wǎng)站:http://skin.tiny.cloud/

image

下載下來的主題怎么用扣癣?
很簡(jiǎn)單惰帽,用skin_url配置一下目錄地址就OK了

editorInit: {
  ...
  skin_url: '/static/tinymce4/skins/myskin',
  ...
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末憨降,一起剝皮案震驚了整個(gè)濱河市父虑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌授药,老刑警劉巖士嚎,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悔叽,居然都是意外死亡莱衩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門娇澎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來笨蚁,“玉大人,你說我怎么就攤上這事趟庄±ㄏ福” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵戚啥,是天一觀的道長(zhǎng)奋单。 經(jīng)常有香客問我,道長(zhǎng)猫十,這世上最難降的妖魔是什么览濒? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮拖云,結(jié)果婚禮上贷笛,老公的妹妹穿的比我還像新娘。我一直安慰自己宙项,他們只是感情好乏苦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著杉允,像睡著了一般邑贴。 火紅的嫁衣襯著肌膚如雪席里。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天拢驾,我揣著相機(jī)與錄音奖磁,去河邊找鬼。 笑死繁疤,一個(gè)胖子當(dāng)著我的面吹牛咖为,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稠腊,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼躁染,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起靡狞,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤粤咪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后饰恕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡井仰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年埋嵌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俱恶。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雹嗦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出合是,到底是詐尸還是另有隱情了罪,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布端仰,位于F島的核電站捶惜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏荔烧。R本人自食惡果不足惜吱七,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鹤竭。 院中可真熱鬧踊餐,春花似錦、人聲如沸臀稚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至窜管,卻和暖如春散劫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背幕帆。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工获搏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人失乾。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓常熙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親碱茁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子裸卫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容