中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue3怎么解析markdown并實現代碼高亮顯示

發布時間:2022-07-19 17:01:26 來源:億速云 閱讀:701 作者:iii 欄目:開發技術

這篇文章主要介紹“Vue3怎么解析markdown并實現代碼高亮顯示”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Vue3怎么解析markdown并實現代碼高亮顯示”文章能幫助大家解決問題。

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

具體實現步驟如下:

一、安裝依賴庫

在vue項目下打開命令窗口,并輸入以下命令

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

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

Vue3怎么解析markdown并實現代碼高亮顯示

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

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

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

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

三、在Vue組件中應用marked解析及實現代碼高亮

代碼示例如下:

 <!-- 正文輸出 -->
<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
               // 調用marked()方法,將markdown轉換成html
               this.article= marked(this.postdetail.content);
               console.log(res.data)
              }).catch(err => {
                  console.log(err)
              })

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

四、顯示效果

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

Vue3怎么解析markdown并實現代碼高亮顯示

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

Vue3怎么解析markdown并實現代碼高亮顯示

關于“Vue3怎么解析markdown并實現代碼高亮顯示”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽阳市| 民县| 淳安县| 淮滨县| 从江县| 故城县| 阳新县| 定边县| 碌曲县| 阜平县| 昌江| 泸定县| 册亨县| 岫岩| 恩施市| 麦盖提县| 汝南县| 深泽县| 平江县| 平陆县| 隆回县| 兴隆县| 九龙坡区| 盘山县| 东明县| 衡阳市| 扶沟县| 永登县| 孝昌县| 合山市| 景宁| 日喀则市| 娱乐| 广西| 江安县| 甘肃省| 共和县| 延边| 阿坝县| 南平市| 新疆|