在前端开发中,我们常需要将 Markdown 文本(如接口文档、博客内容、用户评论)渲染成美观的 HTML 页面。不同于纯文本展示,Markdown 渲染需要借助专门的库解析语法规则,再结合样式实现可视化。
核心逻辑:从文本到视图
Markdown 本质是轻量级标记语言,无法直接被浏览器识别。前端渲染的核心流程其实很清晰:
- 解析:通过库将 Markdown 文本(如
# 标题)转换为 HTML 字符串(如<h1>标题</h1>); - 渲染:将解析后的 HTML 插入页面 DOM 中;
- 美化:通过 CSS(或现成样式库)优化排版(如标题间距、代码块高亮);
- 增强(可选):支持表格、公式、代码高亮、自定义组件等进阶功能。
目前主流的前端 Markdown 渲染库有 marked.js(轻量灵活)、showdown.js(功能全面)、React-Markdown(React 生态专用)等,下文将逐一讲解其用法。
主流渲染库实战
marked.js:轻量首选
marked.js 是目前最流行的 Markdown 解析库之一,体积小(约 30KB)、解析速度快,支持自定义渲染规则,适合原生 JS 项目或各类框架(Vue/React)。
安装与引入
- CDN 引入(快速测试,无需构建工具):
<!-- 引入 marked 核心库 -->
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<!-- 可选:代码高亮需搭配 highlight.js -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/styles/github-dark.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/highlight.min.js"></script>
- npm 安装(工程化项目):
npm install marked highlight.js --save
基础渲染示例
实现'输入 Markdown 文本,实时预览渲染结果'的功能:
// 1. 获取 DOM 元素
const input = document.getElementById('markdownInput');
const preview = .();
marked.({
: {
lang && hljs.(lang) ?
hljs.(code, { : lang }). :
hljs.(code).;
},
: ,
:
});
() {
markdownText = input.;
html = marked.(markdownText);
preview. = html;
}
();
input.(, renderMarkdown);

