国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - 如何在 Vue 中解析和渲染 Markdown

如何在 Vue 中解析和渲染 Markdown

2021-09-14 01:30大遷世界前端小智 JavaScript

Markdown 在我們程序界也是一個必備的技能。我們可以使用 makrdown來渲染文本,它實際上是一種更快的寫作方式,因為它學習成本很低,不需要掌握很多知識就可以開始。

如何在 Vue 中解析和渲染 Markdown

HTML是超文本標記語言的縮寫,可能是當今網絡上使用最多的標記語言。Markdown 在我們程序界也是一個必備的技能。我們可以使用 makrdown來渲染文本,它實際上是一種更快的寫作方式,因為它學習成本很低,不需要掌握很多知識就可以開始。如果你的想寫博客,甚至想作為技術作家寫作時,Markdown 是你首先的寫作工具。

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

為什么使用 Marked.js 庫

Vue 沒有像React 那么多 MD 的插件。如 markdown-it、Remark.js、marked.js。希望在未來,會有更多好用的庫來支持我們的 Vue ,經過一番調研,我選擇了marked.js,因為它的星星最多,bug 少。

創建項目

我們使用 vue-cli 來創建項目,運行如下命令:

  1. vue create marked-example 

這里我們選擇最簡單的 Vue2 模板創建項目,創建完后的項目結構如下:

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

現在我們在 MD 語法寫個標題

  1. <template> 
  2.   <div> 
  3.    {{ markdown }} 
  4.   </div> 
  5. </template> 
  6. <script> 
  7. export default { 
  8.   name"App"
  9.   data() { 
  10.     return { 
  11.       markdown: " # hello world "
  12.     }; 
  13.   }, 
  14. }; 
  15. </script> 
  16. <style> 
  17. #app { 
  18.   font-family: Avenir, Helvetica, Arial, sans-serif; 
  19.   -webkit-font-smoothing: antialiased; 
  20.   -moz-osx-font-smoothing: grayscale; 
  21.   text-align: center; 
  22.   color: #2c3e50; 
  23.   margin-top: 60px; 
  24. </style> 

運行:

如何在 Vue 中解析和渲染 Markdown

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

安裝 Marked.jsMarked 或 marked.js 是一個低級別的編譯器,幫助我們將 Markdowns 轉換成HTML。安裝一波試試水:

  1. npm install marked 

然后,在 app.vue 中引入:

  1. import marked from 'marked'

渲染 markdown

渲染方法很簡單就是把我們的文本傳入 marked,結果返回是帶了標簽的文本內容,我們在用 v-html 渲染即可。

  1. <template> 
  2. <!-- {{ markdown }} --> 
  3.   <textarea v-model="markdown"></textarea> 
  4.   <div v-html="markdownToHtml"></div> 
  5.  
  6. </template> 
  7. <script> 
  8. import marked from 'marked'
  9. export default { 
  10.   name'App'
  11.  data(){ 
  12.    return { 
  13.      markdown:  "# Hello World"
  14.    }; 
  15.  }, 
  16.  computed: { 
  17.    markdownToHtml(){ 
  18.      return marked(this.markdown); 
  19.    } 
  20.  } 
  21. </script> 
  22. <style> 
  23. #app { 
  24.   font-family: Avenir, Helvetica, Arial, sans-serif; 
  25.   -webkit-font-smoothing: antialiased; 
  26.   -moz-osx-font-smoothing: grayscale; 
  27.   text-align: center; 
  28.   color: #2c3e50; 
  29.   margin-top: 60px; 
  30. </style> 

這里我們多寫了一個 textarea 標簽,然后用了計算屬性來實時的渲染 markdowns。運行后的結果如下

如何在 Vue 中解析和渲染 Markdown

然后,多輸入 一些 MD 語法驗證一下:

如何在 Vue 中解析和渲染 Markdown

全局引入

當我們不想每個組件都 引入一次時,就可以聲明成全局的。怎么做?

實現 marked 庫全局化的方法是使用 Mixins。Mixins 只是Vue組件中可重復使用的功能的一個分布。

重構一下我們的 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.  
  12.  
  13.  
  14. createApp(App).mixin(markedMixin).mount('#app'

當想轉換 md時,直接在組件中調用 this.md 就可以將 md 轉成 html 了。

~完,本文內容很簡單,因為最近也用到類似的功能,搜索這個庫,所以就分享一下,我們下期再見!

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

來源:blog.openreplay 原文:https://blog.openreplay.com/how-parse-and-render-markdown-in-vuejs

如何在 Vue 中解析和渲染 Markdown

原文鏈接:https://mp.weixin.qq.com/s/n07tDppQZpsuWbdmqyoGvg

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品国产亚洲 | 精品亚洲一区二区三区四区五区 | 日韩精品一区二区三区四区 | 黄色一级片看看 | 成人av免费| 国产麻豆乱码精品一区二区三区 | 国产精品久久久久久久久久东京 | 99久久婷婷国产综合精品电影 | 亚洲国产精品成人va在线观看 | 亚洲精品夜夜夜 | 一区二区视频免费 | 午夜日韩| 免费看黄色av| 亚洲精品久久久久久久久久久 | 自拍第1页| 久久久久久一区 | 亚洲国产精品成人女人久久久 | 日本精品视频在线观看 | 欧美成人一区二区三区 | 欧美日韩一级二级三级 | 日本在线视频一区二区三区 | 成人av视| 一区二区免费在线观看 | 在线播放视频一区二区 | 国产精品一码二码三码在线 | 最近高清无吗免费看 | 精品成人久久 | 国产精品久久久久国产a级 成人a在线视频 | 亚洲一区 日韩精品 中文字幕 | 欧美一区二区三区精品免费 | 黄色a级大片 | 婷婷综合在线 | 日韩午夜 | 亚洲天堂免费在线 | 国产日韩欧美三级 | 日韩av在线不卡 | 黄色在线免费 | www.欧美 | 欧美一级特黄aaaaaaa在线观看 | 亚洲国产中文字幕在线观看 | 欧洲精品视频在线观看 |