highlight.js
是用来高亮显示代码的工具。
配合它还有一个显示行号的插件highlightjs-line-numbers.js
在传统网页中,使用方法:
hljs.initHighlightingOnLoad();
hljs.initLineNumbersOnLoad();
在 vue cli 开发中无法使用成功,这是我的语法,哪位大哥指导下:
<script>
import hljs from 'highlight.js'
import 'highlight.js/styles/atom-one-dark.css'
import 'highlightjs-line-numbers.js/src/highlightjs-line-numbers.js'
//Markdown 编辑器之行号与加色显示
/*
// lineNumbersBlock 不会引用,无法产生行号
文档:
https://rkroom.com/post/nuxt-vue-layout-style
https://github.com/wcoder/highlightjs-line-numbers.js/
*/
const highlightCode = () => {
const preEl = document.querySelectorAll('pre')
preEl.forEach((el) => {
hljs.highlightBlock(el);
});
}
export default {
name: 'myContent',
data: function () {
var ref = this;
var id = ref.$route.params.id;
var model = {conMod: {createTime:""}, node: {}};
this.jsp("content_get",{"id":id}).then((ret)=>{
model.conMod=JSON.parse(ret.result)[0];
this.jsp("model_get",{"id":model.conMod.modelId}).then((ret)=>{model.node=JSON.parse(ret.result);})
})
return model;
},
methods: {
navToList: function () { this.$route.push("/list/" + this.conMod.ModelID); }
},
mounted() {
highlightCode()
lineNumbersBlock()
},
updated () {
highlightCode()
lineNumbersBlock()
}
}
</script>
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.