av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

如何在Vue中解析和渲染Markdown

HTML是超文本標(biāo)記語(yǔ)言的縮寫(xiě),可能是當(dāng)今網(wǎng)絡(luò)上使用最多的標(biāo)記語(yǔ)言。Markdown 在我們程序界也是一個(gè)必備的技能。我們可以使用 makrdown來(lái)渲染文本,它實(shí)際上是一種更快的寫(xiě)作方式,因?yàn)樗鼘W(xué)習(xí)成本很低,不需要掌握很多知識(shí)就可以開(kāi)始。如果你的想寫(xiě)博客,甚至想作為技術(shù)作家寫(xiě)作時(shí),Markdown 是你首先的寫(xiě)作工具。

本文主要介紹如果在 Vue 中使用 Markdown,廢話說(shuō)了很多了,我們就這開(kāi)始按摩。

為什么使用 Marked.js 庫(kù)

Vue 沒(méi)有像React 那么多 MD 的插件。如 markdown-it、Remark.js、marked.js。希望在未來(lái),會(huì)有更多好用的庫(kù)來(lái)支持我們的 Vue ,經(jīng)過(guò)一番調(diào)研,我選擇了marked.js,因?yàn)樗男切亲疃?,bug 少。

創(chuàng)建項(xiàng)目

我們使用 vue-cli 來(lái)創(chuàng)建項(xiàng)目,運(yùn)行如下命令:

 
 
 
 
  1. vue create marked-example

這里我們選擇最簡(jiǎn)單的 Vue2 模板創(chuàng)建項(xiàng)目,創(chuàng)建完后的項(xiàng)目結(jié)構(gòu)如下:

 
 
 
 
  1. +-- src/i
  2. |   +-- assets/
  3. |   +-- components
  4. |       +-- HelloWorld.vue
  5. |       +-- App.vue
  6. |   +-- main.js

現(xiàn)在我們?cè)?MD 語(yǔ)法寫(xiě)個(gè)標(biāo)題

 
 
 
 

運(yùn)行:

基于上面的代碼,我們希望# hello world MD 語(yǔ)法能在 Vue 渲染成標(biāo)題。要怎么做呢,這就需要借助 Marked.js 庫(kù)。

安裝 Marked.jsMarked 或 marked.js 是一個(gè)低級(jí)別的編譯器,幫助我們將 Markdowns 轉(zhuǎn)換成HTML。安裝一波試試水:

 
 
 
 
  1. npm install marked

然后,在 app.vue 中引入:

 
 
 
 
  1. import marked from 'marked';

渲染 markdown

渲染方法很簡(jiǎn)單就是把我們的文本傳入 marked,結(jié)果返回是帶了標(biāo)簽的文本內(nèi)容,我們?cè)谟?v-html 渲染即可。

 
 
 
 

這里我們多寫(xiě)了一個(gè) textarea 標(biāo)簽,然后用了計(jì)算屬性來(lái)實(shí)時(shí)的渲染 markdowns。運(yùn)行后的結(jié)果如下

然后,多輸入 一些 MD 語(yǔ)法驗(yàn)證一下:

全局引入

當(dāng)我們不想每個(gè)組件都 引入一次時(shí),就可以聲明成全局的。怎么做?

實(shí)現(xiàn) marked 庫(kù)全局化的方法是使用 Mixins。Mixins 只是Vue組件中可重復(fù)使用的功能的一個(gè)分布。

重構(gòu)一下我們的 main.js 代碼,如下所示:

 
 
 
 
  1. import {createApp} from 'vue';
  2. import App from './App.vue';
  3. import marked from 'marked';
  4. const markedMixin = {
  5.     methods: {
  6.          md: function (input) {
  7.             return marked (input);
  8.         },
  9.     },
  10. };
  11. createApp(App).mixin(markedMixin).mount('#app')

當(dāng)想轉(zhuǎn)換 md時(shí),直接在組件中調(diào)用 this.md 就可以將 md 轉(zhuǎn)成 html 了。

~完,本文內(nèi)容很簡(jiǎn)單,因?yàn)樽罱灿玫筋愃频墓δ?,搜索這個(gè)庫(kù),所以就分享一下,我們下期再見(jiàn)!

作者:Dmitri Pavlutin 譯者:前端小智

來(lái)源:blog.openreplay 原文:https://blog.openreplay.com/how-parse-and-render-markdown-in-vuejs


名稱欄目:如何在Vue中解析和渲染Markdown
瀏覽路徑:http://uogjgqi.cn/article/cdjgsep.html

掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流