Vue使用Prism實現(xiàn)頁面代碼高亮展示示例
引言
之前用 Ace 高亮代碼,但依賴包過大,本身需要的功能也不是很多,只有代碼高亮、顯示行號、高亮某行。就用一下 Prismjs,現(xiàn)記錄一下使用方法
1、 安裝依賴
yarn add prismjs // 安裝 prismjs 組件 yarn add babel-plugin-prismjs --dev // 安裝編譯器插件
2、配置插件
// .babelrc 或 babel.config.js 文件里配置以下內(nèi)容
{
"plugins": [
["prismjs", {
"languages": ["javascript", "css", "php"], // 需要的語言
"plugins": ["line-numbers", "line-highlight"], // 引入的插件
// "theme": "twilight", // 自定義主題
"css": true
}]
]
}3、代碼片段
注意看注釋,非常重要
// pre 和 code 寫在同一行(不然行號會錯亂
<template>
<pre
:data-line="props.lineNumber"
:class="[`language-${props.language}`, 'highlight-code line-numbers']"><code :class="[`language-${props.language}`]">{{props.code}}</code></pre>
</template>
<script lang="ts" setup>
import { defineProps, onMounted } from "vue;
import Prism from 'prismjs';
import 'prismjs/themes/prism.css';
const props = defineProps ( {
code: String,
language: String,
lineNumber: {
type: Number,
defalut: 0,
},
});
onMounted(() => {
setTimeout(() => // 必須加(獲取不到高亮行的高度和寬度
Prism.highlightAll(); // 異步請求的數(shù)據(jù),可在獲取數(shù)據(jù)后調(diào)用此方法
});
});
</script>以上就是Vue使用Prism實現(xiàn)頁面代碼高亮展示示例的詳細內(nèi)容,更多關(guān)于Vue Prism頁面代碼高亮的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于vue中對window.openner的使用指南
opener屬性是一個可讀可寫的屬性,可返回對創(chuàng)建該窗口的Window對象的引用,下面這篇文章主要給大家介紹了關(guān)于vue中對window.openner使用的相關(guān)資料,需要的朋友可以參考下2022-11-11
圖文詳解vue中proto文件的函數(shù)調(diào)用
這篇文章主要給大家介紹了vue中proto文件函數(shù)調(diào)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-08-08
Vue 動態(tài)組件components和v-once指令的實現(xiàn)
這篇文章主要介紹了Vue 動態(tài)組件components和v-once指令的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
elementUI vue this.$confirm 和el-dialog 彈出框 移動 示例demo
這篇文章主要介紹了elementUI vue this.$confirm 和el-dialog 彈出框 移動 示例demo,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
Vue實現(xiàn)無限輪播效果時動態(tài)綁定style失效的解決方法
最近在開發(fā)中遇到了一個新需求:列表輪播滾動,實現(xiàn)方式也有很多,比如使用第三方插件,但是由于不想依賴第三方插件,想自己實現(xiàn),于是我開始了嘗試,但是在這個過程中遇到了動態(tài)綁定style樣式不生效,所以本文介紹了Vue實現(xiàn)無限輪播效果時動態(tài)綁定style失效的解決方法2024-08-08
vue 中this.$set 動態(tài)綁定數(shù)據(jù)的案例講解
這篇文章主要介紹了vue 中this.$set 動態(tài)綁定數(shù)據(jù)的案例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
vue3項目配置按需自動引入自定義組件unplugin-vue-components方式
這篇文章主要介紹了vue3項目配置按需自動引入自定義組件unplugin-vue-components方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03

