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页面代码高亮的资料请关注脚本之家其它相关文章!
相关文章
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
今天小编就为大家分享一篇vue2.0$nextTick监听数据渲染完成之后的回调函数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-09-09
vue表单验证rules及validator验证器的使用方法实例
在vue开发中,难免遇到各种表单校验,下面这篇文章主要给大家介绍了关于vue表单验证rules及validator验证器使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下2022-07-07
Vue使用Print.js打印div方式(选中区域的html)
这篇文章主要介绍了Vue使用Print.js打印div方式(选中区域的html),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03


最新评论