当前位置:首页 > VUE

vue实现语法高亮提示

2026-02-23 14:15:33VUE

实现语法高亮的方法

使用highlight.js
安装highlight.js并引入核心功能及需要的语言包:

npm install highlight.js

在Vue组件中注册并应用高亮样式:

import hljs from 'highlight.js/lib/core';
import javascript from 'highlight.js/lib/languages/javascript';
import 'highlight.js/styles/github.css'; // 选择主题样式

hljs.registerLanguage('javascript', javascript);

export default {
  mounted() {
    document.querySelectorAll('pre code').forEach((block) => {
      hljs.highlightElement(block);
    });
  }
};

在模板中使用<pre><code>包裹代码:

<pre><code class="javascript">
  const message = "Hello, Vue!";
  console.log(message);
</code></pre>

结合vue-markdown与语法高亮
若需支持Markdown中的代码块,安装vue-markdown并集成高亮:

vue实现语法高亮提示

npm install vue-markdown highlight.js

配置Vue组件:

import VueMarkdown from 'vue-markdown';
import hljs from 'highlight.js';

export default {
  components: { VueMarkdown },
  methods: {
    highlight(code, lang) {
      if (lang && hljs.getLanguage(lang)) {
        return hljs.highlight(lang, code).value;
      }
      return hljs.highlightAuto(code).value;
    }
  }
};

模板中使用vue-markdown并传递高亮函数:

<vue-markdown 
  :source="yourMarkdownText" 
  :html="false" 
  :highlight="highlight" 
/>

使用prismjs替代方案
安装prismjs并配置:

vue实现语法高亮提示

npm install prismjs

在Vue组件中引入:

import Prism from 'prismjs';
import 'prismjs/themes/prism-tomorrow.css'; // 主题样式

export default {
  mounted() {
    Prism.highlightAll();
  }
};

模板中使用<pre><code>并指定语言类:

<pre><code class="language-javascript">
  function test() { return "Prism"; }
</code></pre>

动态内容的高亮更新
若需在动态内容变化后重新高亮,调用高亮函数:

this.$nextTick(() => {
  hljs.highlightAll(); // 或 Prism.highlightAll()
});

注意事项

  • 主题样式需单独引入,可从库的styles目录选择。
  • 动态加载语言包可减少初始体积,按需注册语言。
  • 服务端渲染(SSR)场景需避免document直接操作,改用v-html或插件。

标签: 语法提示
分享给朋友:

相关文章

vue实现语法高亮提示

vue实现语法高亮提示

使用 Prism.js 实现语法高亮 安装 Prism.js 库 通过 npm 或 yarn 安装 Prism.js 核心库及需要的语言插件: npm install prismjs 引入 Pris…

react代码如何提示错误信息

react代码如何提示错误信息

表单验证错误提示 在React中处理表单验证错误时,可以通过状态管理来跟踪错误信息。使用useState钩子存储错误状态,在表单提交或字段变更时更新这些状态。 const [errors, setE…

react实现代码提示

react实现代码提示

实现代码提示的基本思路 在React中实现代码提示功能通常需要结合文本编辑器组件(如CodeMirror、Monaco Editor)和语言服务工具(如TypeScript编译器、自定义语法分析器)。…

js实现提示框

js实现提示框

实现基础提示框(Alert) 使用 alert() 方法可以快速创建一个简单的提示框: alert("这是一个基础提示框"); 自定义确认框(Confirm) 通过 confirm() 实现带确认和…

jquery提示框

jquery提示框

jQuery提示框的实现方法 jQuery提供了多种方式实现提示框功能,可以通过插件或原生方法实现。以下是常见的几种实现方式: 使用jQuery UI Dialog组件 jQuery UI提供了一…

jquery弹出提示框

jquery弹出提示框

jQuery 弹出提示框的实现方法 使用 jQuery 可以轻松实现多种类型的提示框效果,以下是几种常见的方法: 使用 alert() 方法 alert("这是一个简单的提示框"); 这种方法会显…