Vue使用Prism实现页面代码高亮展示示例

 更新时间:2023年07月14日 10:12:15   作者:圈圈  
这篇文章主要为大家介绍了Vue使用Prism实现页面代码高亮展示示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

之前用 Ace 高亮代码,但依赖包过大,本身需要的功能也不是很多,只有代码高亮、显示行号、高亮某行。就用一下 Prismjs,现记录一下使用方法

1、 安装依赖

yarn add prismjs // 安装 prismjs 组件
yarn add babel-plugin-prismjs --dev // 安装编译器插件

2、配置插件

// .babelrc 或 babel.config.js 文件里配置以下内容
{
  "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(); // 异步请求的数据,可在获取数据后调用此方法
  });
});
</script>

以上就是Vue使用Prism实现页面代码高亮展示示例的详细内容,更多关于Vue Prism页面代码高亮的资料请关注脚本之家其它相关文章!

相关文章

  • vue关于自定义指令与v-if冲突的问题

    vue关于自定义指令与v-if冲突的问题

    这篇文章主要介绍了vue关于自定义指令与v-if冲突的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue3监听reactive对象中属性变化的方法

    Vue3监听reactive对象中属性变化的方法

    在 Vue 3 中,如果你想监听 reactive 对象中的某个属性发生的变化,你可以使用 watch 函数进行监听,watch 函数允许你观察 reactive 对象的某个属性或者整个对象,所以本文给大家介绍了Vue3监听reactive对象中属性变化的方法,需要的朋友可以参考下
    2024-08-08
  • vue2.0$nextTick监听数据渲染完成之后的回调函数方法

    vue2.0$nextTick监听数据渲染完成之后的回调函数方法

    今天小编就为大家分享一篇vue2.0$nextTick监听数据渲染完成之后的回调函数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue使用Echarts实现数据可视化的方法详解

    Vue使用Echarts实现数据可视化的方法详解

    这篇文章主要为大家详细介绍了Vue使用Echarts实现数据可视化的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • vue表单验证rules及validator验证器的使用方法实例

    vue表单验证rules及validator验证器的使用方法实例

    在vue开发中,难免遇到各种表单校验,下面这篇文章主要给大家介绍了关于vue表单验证rules及validator验证器使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • vue 的全选组件封装你知道多少

    vue 的全选组件封装你知道多少

    这篇文章主要为大家详细介绍了vue的全选组件封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Vue3中使用mock.js模拟数据的示例详解

    Vue3中使用mock.js模拟数据的示例详解

    前后端同时开发的时候,后端接口数据没有出来,前端可以使用mock模拟假数据,所以下面小编就来为大家详细介绍一下如何在Vue3中使用mock.js模拟数据吧
    2025-03-03
  • Vue通过v-for实现年份自动递增

    Vue通过v-for实现年份自动递增

    这篇文章主要为大家详细介绍了Vue通过v-for实现年份自动递增,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • Vue使用Print.js打印div方式(选中区域的html)

    Vue使用Print.js打印div方式(选中区域的html)

    这篇文章主要介绍了Vue使用Print.js打印div方式(选中区域的html),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue+webpack模拟后台数据的示例代码

    vue+webpack模拟后台数据的示例代码

    这篇文章主要介绍了vue+webpack模拟后台数据的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07

最新评论