vue-markdown-renderer:比 vercel streamdown 更低 CPU、更多节点支持、真正的流式渲染体验

摘要

一个为 Vue 3 打造的高性能 Markdown 渲染器,支持流式渐进渲染、丰富节点类型和可定制组件映射,实际使用中对 CPU 占比、感知渲染速度和样式能力都有显著改进。

核心亮点

  • 更低的 CPU 消耗:针对解析与渲染环节做了多处优化,减少不必要的重排/重绘。
  • 真正的流式渲染:大文档能边解析边渲染,用户体验更流畅,首屏内容更快可交互。
  • 更丰富的 Markdown 节点支持:admonition、定义列表、脚注、数学块、emoji、checkbox 等。
  • 特殊语种自动从右到左(RTL)书写
  • 组件化渲染:通过 customComponents 轻松替换任意节点的渲染组件。
  • 可选打字机(typewriter)效果:优化光标定位逻辑,避免频繁重排,使用 requestAnimationFrame + IntersectionObserver 降低开销。

快速上手

vue 复制代码
<script setup>
import NodeRenderer from 'vue-markdown-renderer/src/components/NodeRenderer/NodeRenderer.vue'
const markdown = `# Hello\n\n- item\n\n\`\`\`js\nconsole.log('hi')\n\`\`\``
</script>

<template>
  <NodeRenderer :content="markdown" :typewriterEffect="true" />
</template>

下面有 playground 可以对比 vue-markdown-renderer 和 vercel-streamdown

vue-markdown-renderer vercel-streamdown

同样内容输出,streamdown cpu 占用率高达 99%

而 vue-markdown-renderer 稳定在 30%-40%

🌟 源码:github.com/Simon-He95/...

相关推荐
我叫Double6 小时前
GeneralAdmin-3
前端·javascript·vue.js
Charlie_lll6 小时前
学习Three.js–太阳系星球自转公转
前端·three.js
json{shen:"jing"}6 小时前
10_自定义事件组件交互
开发语言·前端·javascript
Jinuss6 小时前
源码分析之React中scheduleUpdateOnFiber调度更新解析
前端·javascript·react.js
一位搞嵌入式的 genius6 小时前
深入理解 JavaScript 异步编程:从 Event Loop 到 Promise
开发语言·前端·javascript
m0_564914927 小时前
Altium Designer,AD如何修改原理图右下角图纸标题栏?如何自定义标题栏?自定义原理图模版的使用方法
java·服务器·前端
方安乐7 小时前
react笔记之useCallback
前端·笔记·react.js
小二·7 小时前
Python Web 开发进阶实战:AI 伦理审计平台 —— 在 Flask + Vue 中构建算法偏见检测与公平性评估系统
前端·人工智能·python
走粥7 小时前
选项式API与组合式API的区别
开发语言·前端·javascript·vue.js·前端框架
We་ct7 小时前
LeetCode 12. 整数转罗马数字:从逐位实现到规则复用优化
前端·算法·leetcode·typescript