浏览器中代码(html+js)高亮,并显示行数 (Vue框架)

最终效果

选型

highlight.js + highlightjs-line-numbers.js

实现

高亮代码

<code v-html="code"></code>
import hljs from 'highlight.js/lib/core'; // 引入hljs
hljs.registerLanguage('xml', require('highlight.js/lib/languages/xml')); // 注册xml语言
hljs.registerLanguage('javascript', require('highlight.js/lib/languages/javascript')); // 注册js语言
import 'highlight.js/styles/atom-one-dark.css'; // 引入合适的样式
export default {
data(){
code: '' // 最终要展示的高亮的code
},
created() {
// rawcode为要展示的code,如'<h1>hello world</h1>'
this.code = hljs.highlight(rawcode, { language: 'html' }).value; // 进行代码高亮
}
}

显示行数

export default {
...
mounted() {
hljs.highlightAll();
import('highlightjs-line-numbers.js').then(() => {
hljs.initLineNumbersOnLoad();
});
}
}
posted @   每天不emo  阅读(370)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示