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/...

相关推荐
步十人11 小时前
【JWT】验证令牌的使用
前端·bootstrap·html
吃好睡好便好11 小时前
用if…elseif…end语句输出成绩等级
开发语言·前端·javascript·数据库·学习·matlab·信息可视化
弹简特11 小时前
【Vue3速成】03-vue基本语法的使用
前端·javascript·vue.js
AI产品实战11 小时前
95coder一句话生成MOM系统,AI用时6分50秒,Token只消耗25107
vue.js·spring boot·ai编程·ruoyi
在繁华处11 小时前
从零搭建轻灵(四):工具系统与 Pipeline
前端·chrome
小则又沐风a11 小时前
进一步了解进程---第四章 进程管理
java·服务器·前端
放下华子我只抽RuiKe512 小时前
FastAPI 全栈后端(一):为什么选择 FastAPI
前端·javascript·深度学习·react.js·机器学习·前端框架·fastapi
ZC跨境爬虫12 小时前
跟着 MDN 学CSS day_11:(深入理解CSS值与单位的完整体系)
前端·css·ui·html·tensorflow