最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年07月19日 14:12:55   作者:xiejava1018  
Vue的markdown解析庫(kù)有很多,如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解析庫(kù)有很多,如markdown-it、vue-markdown-loader、marked、vue-markdown等。這些庫(kù)都大同小異。這里選用的是marked,代碼高亮的庫(kù)選用的是highlight.js。

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

一、安裝依賴庫(kù)

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

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

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

package.json文件中看到有安裝的版本號(hào)

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

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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

台东市| 龙岩市| 昭通市| 当涂县| 恩施市| 宜章县| 越西县| 沂水县| 荆州市| 余江县| 浦东新区| 南昌市| 巴南区| 陆河县| 江阴市| 商南县| 中山市| 五寨县| 鸡泽县| 云南省| 双鸭山市| 松阳县| 德令哈市| 石屏县| 洛宁县| 孟连| 团风县| 保德县| 咸丰县| 思茅市| 洞头县| 呈贡县| 藁城市| 崇左市| 西城区| 衡阳县| 防城港市| 固原市| 龙南县| 卢氏县| 图木舒克市|