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

Vue使用Prism實(shí)現(xiàn)頁面代碼高亮展示示例

 更新時(shí)間:2023年07月14日 10:12:15   作者:圈圈  
這篇文章主要為大家介紹了Vue使用Prism實(shí)現(xiàn)頁面代碼高亮展示示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

之前用 Ace 高亮代碼,但依賴包過大,本身需要的功能也不是很多,只有代碼高亮、顯示行號(hào)、高亮某行。就用一下 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 寫在同一行(不然行號(hào)會(huì)錯(cuò)亂
<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(); // 異步請(qǐng)求的數(shù)據(jù),可在獲取數(shù)據(jù)后調(diào)用此方法
  });
});
</script>

以上就是Vue使用Prism實(shí)現(xiàn)頁面代碼高亮展示示例的詳細(xì)內(nèi)容,更多關(guān)于Vue Prism頁面代碼高亮的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論