news 2026/5/16 13:46:54

在 Vue 2 与 Vue 3 中使用 markdown-it-vue 渲染 Markdown 和数学公式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 Vue 2 与 Vue 3 中使用 markdown-it-vue 渲染 Markdown 和数学公式

markdown-it-vue是一个功能强大的 Markdown 渲染 Vue 组件,它基于markdown-it解析引擎,集成了多种插件,开箱即用地支持GitHub风格的Markdown、代码高亮、图表(Mermaid, ECharts)、表情符号(emoji)以及数学公式(LaTeX, AsciiMath)等高级功能。

🎯 核心优势一览

markdown-it-vue的强大之处在于其丰富的内置功能,能让开发者快速构建功能全面的文档系统。下表整理了它的主要特性:

功能分类具体支持适用场景
核心语法CommonMark和GitHub Flavored Markdown (GFM) 规范,包括表格、任务列表等基本文档编写,与GitHub风格保持一致的场景
内容增强Emoji表情、上下标、脚注、缩写、定义列表等提升文本的可读性和表现力
高级组件Mermaid图表、ECharts、Flowchart.js流程图需要嵌入数据可视化图表的场景,如报表、教程
学术支持数学公式(LaTeX & AsciiMath)、代码高亮学术论文、技术文档、在线教育平台的核心需求
开发体验图片预览、TOC目录生成、自定义错误提示增强用户体验的实用功能

现在,我们以 Vue 2 和 Vue 3 为例,介绍如何快速集成和使用。

🚀 Vue 2 集成:开箱即用

markdown-it-vue原生支持 Vue 2,集成起来非常方便。

  1. 安装和引入
    通过 npm 安装,并在入口文件或组件中全局注册。

    npminstallmarkdown-it-vue
    // main.jsimportVuefrom'vue'importMarkdownItVuefrom'markdown-it-vue'import'markdown-it-vue/dist/markdown-it-vue.css'Vue.use(MarkdownItVue)
  2. 基础使用
    在任意 Vue 组件中,通过<markdown-it-vue>组件和:content属性传入 Markdown 文本即可。

    <template><div><markdown-it-vueclass="markdown-body":content="markdownContent"/></div></template><script>exportdefault{data(){return{markdownContent:`# 爱因斯坦质能方程 这是行内公式: $E = mc^2$。 下面是块级公式: $$\\int_{-\\infty}^{\\infty} e^{-x^2} dx = \\sqrt{\\pi}$$`}}}</script>

    在这个示例中,组件会自动识别$...$$$...$$包裹的 LaTeX 公式,并将其渲染为精美的数学表达式。

  3. 扩展你的工具
    如果内置功能不满足需求,可以通过use方法手动添加markdown-it插件。

    <template><markdown-it-vueref="mdComponent":content="markdownContent"/></template><script>exportdefault{mounted(){// 假设要添加自定义插件 MyMarkdownItPluginthis.$refs.mdComponent.use(MyMarkdownItPlugin)}}</script>

⚡️ Vue 3 集成:两个便捷方案

由于markdown-it-vue主要为 Vue 2 设计,在 Vue 3 中直接使用可能会遇到兼容性问题。这里推荐两种更合适的方案。

  • 方案一:推荐!使用 Vue 3 专属组件
    @f3ve/vue-markdown-it是一个为 Vue 3 全新设计的封装组件,语法和使用习惯与markdown-it-vue一脉相承。

    npminstall@f3ve/vue-markdown-it
    <template><VueMarkdownIt:source="markdownContent":options="options"/></template><scriptsetup>import{ref}from'vue'importVueMarkdownItfrom'@f3ve/vue-markdown-it'import'katex/dist/katex.min.css'// 引入KaTeX样式constmarkdownContent=ref(`# Vue 3 中的质能方程 行内公式: $E = mc^2$ 块级公式: $$\\int_{a}^{b} f(x) \\, dx$$`)// 配置 markdown-it 和 KaTeXconstoptions={markdownIt:{html:true,linkify:true,},// 启动 markdown-it-katex 插件use:['markdown-it-katex']}</script>
  • 方案二:自己动手,使用 markdown-it
    这提供了最大的灵活性,适合对渲染过程有精细化控制需求的场景。

    npminstallmarkdown-it @iktakahiro/markdown-it-katex katex
    <template><divclass="markdown-body"v-html="renderedMarkdown"></div></template><scriptsetup>import{computed,ref}from'vue'importMarkdownItfrom'markdown-it'importmarkdownItKatexfrom'@iktakahiro/markdown-it-katex'import'katex/dist/katex.min.css'constmd=newMarkdownIt({html:true,linkify:true})md.use(markdownItKatex)constcontent=ref(`使用 $\\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}$ 来求根。`)constrenderedMarkdown=computed(()=>md.render(content.value))</script>

⚙️ 高级配置:深度定制

通过options属性可以对markdown-it及其插件进行细致配置,以适应不同场景。

配置项说明示例
markdownIt直接配置markdown-it内核,例如启用自动链接识别。{ linkify: true }
linkAttributes为所有生成的<a>标签统一添加属性,如在新窗口打开。{ target: '_blank', rel: 'noopener' }
katex配置 KaTeX 公式渲染引擎,如设置错误时的颜色。{ throwOnError: false, errorColor: '#cc0000' }
githubToc自定义生成的目录 (TOC) 结构,如起始标题级别。{ tocFirstLevel: 2, tocLastLevel: 3 }
image控制图片行为,如开启点击预览和默认对齐方式。{ viewer: true, hAlign: 'center' }

💎 总结与资源

总的来说,在 Vue 项目中使用markdown-it-vue来展示 Markdown 和数学公式,是一个高效且优雅的选择。

  • Vue 2 项目:推荐直接使用markdown-it-vue,开箱即用,配置简单。
  • Vue 3 项目:更推荐使用@f3ve/vue-markdown-it方案,它专为 Vue 3 设计,兼容性更好,集成体验更顺畅。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 13:45:09

CVPR 2026 | 小米×武大3B模型学会共情,暴打一众强化学习基线

本文介绍的研究来自 CVPR 2026&#xff0c;作者团队来自小米大模型 Plus 团队与武汉大学计算机学院。武汉大学团队在视觉理解、多模态推理和情绪计算方面积累深厚&#xff0c;小米大模型 Plus 团队则在大模型训练、强化学习框架和工程化落地方面经验丰富。过去一段时间&#xf…

作者头像 李华
网站建设 2026/5/16 13:40:11

ARM CTI寄存器安全机制与调试接口防护

1. ARM CTI寄存器安全机制深度解析在嵌入式系统开发中&#xff0c;调试接口的安全性和可控性至关重要。ARM架构通过Cross-Trigger Interface(CTI)寄存器提供了一套精细的访问控制机制&#xff0c;特别是CTILAR(CTI Lock Access Register)和CTILSR(CTI Lock Status Register)这对…

作者头像 李华
网站建设 2026/5/16 13:40:10

观察Taotoken在流量高峰时段API调用的成功率和响应表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察Taotoken在流量高峰时段API调用的成功率和响应表现 在构建依赖大模型能力的应用时&#xff0c;服务的稳定性与可靠性是核心考量…

作者头像 李华
网站建设 2026/5/16 13:40:10

华硕笔记本终极性能调校指南:G-Helper完整使用教程

华硕笔记本终极性能调校指南&#xff1a;G-Helper完整使用教程 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Exper…

作者头像 李华
网站建设 2026/5/16 13:38:16

别急着做 Agent

别急着做 Agent 这句话听起来像给 Agent 泼冷水&#xff0c;其实更像给项目踩刹车。很多团队做 AI 应用失败&#xff0c;常常因为一开始就把一个没梳理清楚的业务流程交给模型自由发挥。 我见过最典型的场景&#xff0c;是老板说想要一个销售 Agent&#xff0c;能自动找客户、写…

作者头像 李华