vue 代码高亮 prismjs 或 highlight.js插件的用法

简介: vue 代码高亮 prismjs 或 highlight.js插件的用法

vue nuxt.js 代码高亮 prismjs 或 highlight.js 插件的用法

功能点分析: 前端vue2.0 + nuxt.js 实现代码高亮 使用的插件是 prismjs 和 babel-plugin-prismjs编译器插件

1.安装 prismjs 插件 和 babel-plugin-prismjs

npm install prismjs // 这里也可以使用 yarn add prismjs
npm install babel-plugin-prismjs -D

课外小知识 · prismjs 要 配合着 babel-plugin-prismjs 编译器更好

有的小伙伴就好奇了

为啥要编译器更好呢 这里我就借用 prismjs 官网的一句话

*为了方便地仅使用您需要的语言和插件配置您的 Prism 实例,请使用 babel 插件

babel-plugin-prismjs。这将允许您加载最少数量的语言和插件以满足您的需求。有关配置详细信息,请参阅该插件的文档。

书归正传

2.需要配置 babel-plugin-prismjs 编译器这个插件

我们可以通过 nuxt 的 nuxt.config.js 文件进行配置

 module.exports = {
  build: { 
    babel: {
      plugins: [
        [
          'prismjs',
          {
            // 可以选择多种语言
            languages:['javascript','php','c','cpp','python','go'],
            //配置显示行号插件
            plugins: [
              'line-numbers',
            ],
            theme: 'coy', //主体名称
            css: true
          }
        ]
      ]
    }
  },
}

3.在plugins文件下添加一个prismjs.js

在prismjs.js 中引入

·亿点小知识 ·provide/inject provide 可以在祖先组件中指定我们想要提供给后代组件的数据或方法,而在任何后代组件中,我们都可以使用 inject 来接收 provide 提供的数据或方法。

import Prism from 'prismjs';
//可以引入其他的css样式
import 'prismjs/themes/prism.min.css';
export default (ctx, inject) => {
  inject('prism', Prism)
}

4.在需要美化的代码块中添加

// reCode 其实就是要高亮的内容  请看下面 js代码
<pre v-html="resCode"></pre> //在页面中使用
methods:{
  // 在方法中使用 this.$prism.highlight 
  resCode(){ 
  return this.$prism.highlight(`var txt = 内容`, this.$prism.languages.bash, 'bash') 
  // language.xxx或lang.xxx选择编程语言
} 
}

_此功能适用与 vue + nuxt 想要纯 vue 可以点击下面穿越 _

还有另一个 vue-highlightjs来实现 代码高亮 穿越

想要进一步详细的配置 高亮内容 请穿越 prismjs官网

相关文章
|
26天前
|
JavaScript 前端开发 开发者
VUE 开发——Node.js学习(一)
VUE 开发——Node.js学习(一)
47 3
|
2月前
|
JavaScript
vue中watch的用法
vue中watch的用法
|
2天前
|
JavaScript 前端开发 持续交付
构建现代Web应用:Vue.js与Node.js的完美结合
【10月更文挑战第22天】随着互联网技术的快速发展,Web应用已经成为了人们日常生活和工作的重要组成部分。前端技术和后端技术的不断创新,为Web应用的构建提供了更多可能。在本篇文章中,我们将探讨Vue.js和Node.js这两大热门技术如何完美结合,构建现代Web应用。
12 4
|
22小时前
|
JavaScript 前端开发
javascript开发的简单的弹幕插件
这是一个原生javascript开发的简单的弹幕插件,具有美观、易用,占用的资源较低等特点,可以给弹幕设置内容、颜色、头像、链接地址等属性,鼠标悬停等,简单实用,欢迎下载!
13 5
|
6天前
|
JavaScript
Vue 中mixin 的用法
【10月更文挑战第18天】Vue 中mixin 的用法
16 3
|
1天前
|
JavaScript 定位技术
jQuery鹰眼视图小地图定位预览插件minimap.js
这是一个jQuery小地图定位预览视图,默认左侧是页面主要内容,minimap.js的好处就是在它的右侧形成一个快速定位通道,产生一个缩小版的页面,即预览效果,可以点击并快速定位到页面的某个位置。简单实用,欢迎下载!
8 0
|
2月前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
12天前
|
存储 JSON JavaScript
Vue.js开发中基于localStorage与sessionStorage的本地存储利器:Vue-ls插件使用详解
Vue.js开发中基于localStorage与sessionStorage的本地存储利器:Vue-ls插件使用详解
30 0
|
12天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
78 0
|
12天前
|
JavaScript
深入解析:JS与Vue中事件委托(事件代理)的高效实现方法
深入解析:JS与Vue中事件委托(事件代理)的高效实现方法
18 0