欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3解析markdown并實(shí)現(xiàn)代碼高亮顯示的詳細(xì)步驟

 更新時間:2022年07月19日 14:12:55   作者:xiejava1018  
Vue的markdown解析庫有很多,如markdown-it、vue-markdown-loader、marked、vue-markdown等,這篇文章主要介紹了Vue3解析markdown并實(shí)現(xiàn)代碼高亮顯示,需要的朋友可以參考下

Vue實(shí)現(xiàn)博客前端,需要實(shí)現(xiàn)markdown的解析,如果有代碼則需要實(shí)現(xiàn)代碼的高亮。
Vue的markdown解析庫有很多,如markdown-it、vue-markdown-loader、marked、vue-markdown等。這些庫都大同小異。這里選用的是marked,代碼高亮的庫選用的是highlight.js。

具體實(shí)現(xiàn)步驟如下:

一、安裝依賴庫

在vue項(xiàng)目下打開命令窗口,并輸入以下命令

npm install marked -save    // marked 用于將markdown轉(zhuǎn)換成html
npm install highlight.js -save   //用于代碼高亮顯示

命令執(zhí)行完后可以在控制臺或package.json文件中看到有安裝的版本號

package.json文件中看到有安裝的版本號

二、在main.js文件中引入highlight.js及樣式并創(chuàng)建一個自定義的全局指令

import hljs from 'highlight.js';
import 'highlight.js/styles/atom-one-dark.css' //樣式

//創(chuàng)建v-highlight全局指令
Vue.directive('highlight',function (el) {
  let blocks = el.querySelectorAll('pre code');
  blocks.forEach((block)=>{
    hljs.highlightBlock(block)
  })
})

這樣就可以在vue組件中使用v-highlight引用代碼高亮的方法了。

三、在Vue組件中應(yīng)用marked解析及實(shí)現(xiàn)代碼高亮

代碼示例如下:

 <!-- 正文輸出 -->
<div class="entry-content">
  <div v-highlight v-html="article"  id="content"></div>
</div>
<script>
    // 將marked 引入
  import { marked }from 'marked';
    export default {
        name: 'articles',
        data(){
          return{
              article:''
          }
        },
        methods: {
          getPostDetail() {
            console.log('getPostDetail()'+this.id)
            fetchPostDetail(this.id).then(res => {
               this.postdetail=res.data
               // 調(diào)用marked()方法,將markdown轉(zhuǎn)換成html
               this.article= marked(this.postdetail.content);
               console.log(res.data)
              }).catch(err => {
                  console.log(err)
              })

          },
        created() {
          //調(diào)用獲取文章內(nèi)容的接口方法
          this.getPostDetail()
        },
    }
 </script>

四、顯示效果

markdown解析及代碼高亮顯示效果

示例中引用的樣式是 import 'highlight.js/styles/atom-one-dark.css'
實(shí)際highlight.js/styles中提供了很多樣式,可以根據(jù)自己的喜好選用。

代碼高亮樣式

到此這篇關(guān)于Vue3解析markdown并實(shí)現(xiàn)代碼高亮顯示的文章就介紹到這了,更多相關(guān)Vue3解析markdown內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在vscode中統(tǒng)一vue編碼風(fēng)格的方法

    在vscode中統(tǒng)一vue編碼風(fēng)格的方法

    本篇文章主要介紹了在vscode中統(tǒng)一vue編碼風(fēng)格的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • vue中各選項(xiàng)及鉤子函數(shù)執(zhí)行順序詳解

    vue中各選項(xiàng)及鉤子函數(shù)執(zhí)行順序詳解

    今天小編就為大家分享一篇vue中各選項(xiàng)及鉤子函數(shù)執(zhí)行順序詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue中使用event的坑及解決event is not defined

    Vue中使用event的坑及解決event is not defined

    這篇文章主要介紹了Vue中使用event的坑及解決event is not defined,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue3編寫組件的幾種實(shí)現(xiàn)方式

    vue3編寫組件的幾種實(shí)現(xiàn)方式

    這篇文章主要介紹了vue3編寫組件的幾種實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 安裝vue-cli報錯 -4058 的解決方法

    安裝vue-cli報錯 -4058 的解決方法

    這篇文章主要介紹了安裝vue-cli報錯 -4058 的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue使用mpegts.js的詳細(xì)步驟記錄

    vue使用mpegts.js的詳細(xì)步驟記錄

    MPEGTS.js是一個輕量級的JavaScript庫,用于處理MPEG-TS流,這篇文章主要給大家介紹了關(guān)于vue使用mpegts.js的詳細(xì)步驟記錄,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • 如何為老vue項(xiàng)目添加vite支持詳解

    如何為老vue項(xiàng)目添加vite支持詳解

    Vite是一個開發(fā)環(huán)境工具,旨在提高我們的開發(fā)速度,下面這篇文章主要給大家介紹了關(guān)于如何為老vue項(xiàng)目添加vite支持的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 記錄--使用el-time-picker默認(rèn)值遇到的問題

    記錄--使用el-time-picker默認(rèn)值遇到的問題

    這篇文章主要介紹了記錄--使用el-time-picker默認(rèn)值遇到的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue實(shí)現(xiàn)登錄時圖形驗(yàn)證碼

    vue實(shí)現(xiàn)登錄時圖形驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)登錄時圖形驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue渲染器如何對節(jié)點(diǎn)進(jìn)行掛載和更新

    Vue渲染器如何對節(jié)點(diǎn)進(jìn)行掛載和更新

    這篇文章主要介紹了Vue 的渲染器是如何對節(jié)點(diǎn)進(jìn)行掛載和更新的,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05

最新評論