溫馨提示×

溫馨提示×

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

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

vue3怎么引入highlight.js進行代碼高亮

發(fā)布時間:2022-04-08 10:28:13 來源:億速云 閱讀:778 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下vue3怎么引入highlight.js進行代碼高亮的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    背景描述:

    在項目開發(fā)中,經(jīng)常一些日志預(yù)覽,還有文件的預(yù)覽,需要進行代碼高亮顯示。這樣可以讓文本內(nèi)容展示的時候顯得更加友好,也便于閱讀

    效果類似markdown語法的代碼高亮,如下:

        <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="自動化測試">
          <stringProp name="TestPlan.comments"></stringProp>
          <boolProp name="TestPlan.functional_mode">false</boolProp>
          <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
          <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
          <elementProp name="TestPlan.user_defined_variables" elementType="Arguments">
            <collectionProp name="Arguments.arguments"/>
          </elementProp>
        </TestPlan>

    一、安裝依賴:

    注意:我們需要安裝的依賴有兩個,網(wǎng)上的博文,都是寫的一個,比較坑。
    npm install --save highlight.js
    npm install --save @highlightjs/vue-plugin
    命令行如下

    ## 這個是highlight.js基礎(chǔ)依賴
    npm install --save highlight.js
    ## 安裝支持vue3 的@highlightjs/vue-plugin 依賴
    npm install --save @highlightjs/vue-plugin

    二、在vue3主入口main文件,對highlight進行引入和注冊:

    需要引入的有

    樣式 ,在main主入口引入樣式為全局統(tǒng)一都使用這個樣式,也可以在單獨的頁面引入,你想要的樣式。樣式效果參考官網(wǎng):https://highlightjs.org/static/demo/
    更改 import &lsquo;highlight.js/styles/atom-one-dark.css&rsquo; 把styles 后面的值改成你想要的樣式就行依賴包組件
    # --- 文件src/main.ts | src/main.js 
    # highlight 的樣式,依賴包,組件
    import 'highlight.js/styles/atom-one-dark.css'
    import 'highlight.js/lib/common'
    import hljsVuePlugin from '@highlightjs/vue-plugin'
    
    import { computed, createApp } from 'vue'
    import App from './App.vue'
    
    const app = createApp(App)
    
    // 引入代碼高亮,并進行全局注冊
    app.use(hljsVuePlugin)
    app.mount('#app')

    三、頁面使用:

        <!-- 把數(shù)據(jù)綁定到 `code` 屬性-->
        <highlightjs autodetect :code="code" />
        <!--或者直接將顯示的代碼寫到 `code`中 -->
        <highlightjs language='javascript' code="var x = 5;" />

    示例如下:
    可以使用 language 指定具體的語言,如javascript、xml等
    這個值省略,highlightjs 也會自動識別對應(yīng)的語言
    vue3怎么引入highlight.js進行代碼高亮

    四、看下效果展示吧:

    vue3怎么引入highlight.js進行代碼高亮

    vue3怎么引入highlight.js進行代碼高亮

    五、一些優(yōu)化:

    1.問題

    可以看到生成的代碼 是pre包裹的,會有個1rem 的margin-bottom,效果不是很好
    vue3怎么引入highlight.js進行代碼高亮

    2.解決方法

    在對應(yīng)的頁面,使用style 標(biāo)簽,對樣式進行重寫,注意不要加 scoped

    <style lang="scss">
    pre {
      margin-bottom: 0;
    }
    </style>

    vue3怎么引入highlight.js進行代碼高亮

    3. 處理后的效果

    這個是示例,當(dāng)然你們可以根據(jù)實際的項目進行樣式改造
    碼字不容易,對你有幫助的話,給個點贊吧 ? (????)
    更多詳情,請查閱官方文檔,
    官網(wǎng)鏈接:https://highlightjs.org/
    官網(wǎng)github鏈接:https://github.com/highlightjs/vue-plugin

    vue3怎么引入highlight.js進行代碼高亮

    以上就是“vue3怎么引入highlight.js進行代碼高亮”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI