Vue中使用highlight.js实现代码高亮显示以及点击复制

本文主要介绍了Vue中使用highlight.js实现代码高亮显示以及点击复制,具体如下:

效果如下

Vue中使用highlight.js实现代码高亮显示以及点击复制_第1张图片

第一步 安装highlight.js

yarn add highlight.js 

第二步 在main.js中引入

import hl from 'highlight.js' // 导入代码高亮文件
import 'highlight.js/styles/a11y-dark.css' // 导入代码高亮样式

// 自定义一个代码高亮指令
Vue.directive('highlight', function (el) {
  const blocks = el.querySelectorAll('pre code')
  blocks.forEach((block) => {
    hl.highlightBlock(block)
  })
})

第三步 创建组件





效果如图:点击显示代码

Vue中使用highlight.js实现代码高亮显示以及点击复制_第2张图片

第四步: 使用组件

 

export default {
  data () {
    return {
      code: ``
    }
  }
}

第五步 实现点击复制代码clipboard.js。

clipboard.js copy地址

Vue中使用highlight.js实现代码高亮显示以及点击复制_第3张图片

import Vue from 'vue'
import Clipboard from 'clipboard'

function clipboardSuccess () {
  Vue.prototype.$message.success({
    content: '复制成功',
    duration: 1.5
  })
}

function clipboardError () {
  Vue.prototype.$message.error({
    content: '复制失败',
    duration: 1.5
  })
}

export default function handleClipboard (text, event) {
  const clipboard = new Clipboard(event.target, {
    text: () => text
  })
  clipboard.on('success', () => {
    clipboardSuccess()
    clipboard.destroy()
  })
  clipboard.on('error', () => {
    clipboardError()
    clipboard.destroy()
  })
  clipboard.onClick(event)
}

到此这篇关于Vue中使用highlight.js实现代码高亮显示以及点击复制的文章就介绍到这了,更多相关Vue highlight.js代码高亮显示内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Vue中使用highlight.js实现代码高亮显示以及点击复制)