在 Vue 中使用 `vue-markdown` 或 `marked` 渲染 Markdown 时,常出现样式丢失(如代码块无高亮、标题无层级缩进)或 HTML 标签未解析(如 `
` 被转义为纯文本)的问题。根本原因通常是:① 渲染器默认禁用 HTML 解析(`sanitize: true` 或 `dangerouslySetInnerHTML` 未启用);② 缺少配套 CSS(如 `github-markdown-css` 未引入);③ 未集成语法高亮插件(如 `highlight.js` 或 `shiki`);④ 在 Vue 3 组合式 API 中错误地将 Markdown 字符串直接 `v-html`,却未经 `marked.parse()` 处理。此外,若使用 `vue-markdown-it`,还需确认 `html: true` 选项已开启,且 `linkify`、`typographer` 等扩展配置正确。解决方案包括:启用安全 HTML 渲染、按需引入标准化样式、绑定高亮回调函数,并严格校验渲染流程的执行顺序与上下文(如 SSR 环境需服务端同步支持)。
` 被转义为纯文本)的问题。根本原因通常是:① 渲染器默认禁用 HTML 解析(`sanitize: true` 或 `dangerouslySetInnerHTML` 未启用);② 缺少配套 CSS(如 `github-markdown-css` 未引入);③ 未集成语法高亮插件(如 `highlight.js` 或 `shiki`);④ 在 Vue 3 组合式 API 中错误地将 Markdown 字符串直接 `v-html`,却未经 `marked.parse()` 处理。此外,若使用 `vue-markdown-it`,还需确认 `html: true` 选项已开启,且 `linkify`、`typographer` 等扩展配置正确。解决方案包括:启用安全 HTML 渲染、按需引入标准化样式、绑定高亮回调函数,并严格校验渲染流程的执行顺序与上下文(如 SSR 环境需服务端同步支持)。