VUE - 渲染文件源码

515 阅读1分钟

结合网上关于 highlight.js 与 highlightjs-line-numbers.js 的使用,最近需要渲染后端给的字符串源码文件,并实现高亮行等一些相关操作,以下是主要部分方法。

实现方法

  npm install highlight.js
  npm install highlightjs-line-numbers.js

引入位置

在需要 渲染文件源码 的组件中引入,例如:TheBugSoundCode.vue

<script>
  import hljs from 'highlight.js'
  import 'highlight.js/scss/tomorrow-night-eighties.scss'
  
  const highlightCode = () => {
    let light_blocks = document.querySelectorAll('pre code')
    light_blocks.forEach(block => {
      hljs['highlightElement'](block)
    })
    
    let line_blocks = document.querySelectorAll('code.hljs')
    line_blocks.forEach(block => {
      hljs['lineNumbersBlock'](block)
     })
  }
</script>

页面部分

<template>
  <div>
    <pre>
      <code v-html="soundCode"></code>
    </pre>
  </div>
</template>

页面加载

在 updated() 引用 highlightCode()