哪位达人指导下,在 vue cli 中如何使用 highlightjs-line-numbers 插件?

2020-02-19 15:30:51 +08:00
 wwwwzf

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>
2493 次点击
所在节点    Vue.js
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/645833

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX