---
title: "Marked 与 Markdown 有什么区别？该怎么选？ - Angryecho"
description: "在前端开发中，我们常会遇到 Markdown 和 Marked 这两个词。它们名字相似，但并不是同一类东西，也不是互相替代的选项。 简单来说： Markdown 是一种轻量级标记语言；Marked 是一个用于解析 Markdown 的 JavaScript 库。"
canonical_url: "https://www.angryecho.com/c/qian_duan_she_qu/p/P2TBBypPps3tVZ057fhy9"
meta:
  "og:description": "在前端开发中，我们常会遇到 Markdown 和 Marked 这两个词。它们名字相似，但并不是同一类东西，也不是互相替代的选项。 简单来说： Markdown 是一种轻量级标记语言；Marked 是一个用于解析 Markdown 的 JavaScript 库。"
  "og:image": "https://www.angryecho.com/_og/d/c_Post%2Ctitle_~5ZCQ5qe9572R%2Cdescription_~5ZCQ5qe95LiA5LiL77yM5bCx5LiK5ZCQ5qe9572R44CC%2CpostId_P2TBBypPps3tVZ057fhy9%2Crevision_~MjAyNi0xMS0wMVQwMjo1NTo1Ny40MDAxNzda%2Cp_Ii9jL3FpYW5fZHVhbl9zaGVfcXUvcC9QMlRCQnlwUHBzM3RWWjA1N2ZoeTki%2Cs_PyJMfhWC8Yvr2828.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Marked 与 Markdown 有什么区别？该怎么选？"
---

> Index of every page on this site: [llms.txt](https://www.angryecho.com/llms.txt)

# **Marked 与 Markdown 有什么区别？该怎么选？**

在前端开发中，我们常会遇到 **Markdown** 和 **Marked** 这两个词。它们名字相似，但并不是同一类东西，也不是互相替代的选项。

简单来说：

> **Markdown 是一种轻量级标记语言；Marked 是一个用于解析 Markdown 的 JavaScript 库。**

理解这一点，就能知道它们通常不是“二选一”，而是配合使用。

## 什么是 Markdown？

Markdown 是一种用简单符号编写文本内容的语法。它可以表示标题、列表、链接、代码块等结构，常用于 README、技术文档、博客和评论内容。

例如：

```
# 页面标题

这是一段文字，包含**加粗内容**。

- 第一项
- 第二项

[访问示例网站](https://example.com)
```

Markdown 文件通常使用 `.md` 或 `.markdown` 后缀。它的重点是**内容如何编写和组织**，而不是由哪种编程语言处理。

## 什么是 Marked？

Marked 是一个 JavaScript Markdown 解析器。它可以读取 Markdown 文本，并将其转换为 HTML。

```
import { marked } from 'marked';

const source = '# 页面标题\n\n这是一段 **加粗内容**。';
const html = marked.parse(source);

console.log(html);
```

输出大致如下：

```
<h1>页面标题</h1>
<p>这是一段 <strong>加粗内容</strong>。</p>
```

Marked 关注的是**如何在 JavaScript 项目中解析 Markdown**。它常用于网站、Web 应用或 Node.js 服务中。

## 核心区别

| 对比项 | Markdown | Marked |
| --- | --- | --- |
| 本质 | 一种轻量级标记语言 | JavaScript 解析库 |
| 用途 | 编写和组织内容 | 将 Markdown 转换为 HTML |
| 是否依赖某种编程语言 | 否 | 是，主要用于 JavaScript 环境 |
| 常见形式 | `.md` 文件或 Markdown 文本 | npm 包 |
| 是否可以互相替代 | 不能 | 不能 |

可以把它们类比为：

- **Markdown** 像一种文章写作格式；
- **Marked** 像一个能够读懂这种格式并生成网页内容的转换工具。

## 实际开发中怎么选？

### 需要编写内容时，使用 Markdown

如果你要写项目说明、技术文档、博客文章或知识库内容，直接使用 Markdown 即可。它易读、易写，也方便进行版本管理。

### 需要在 JavaScript 中解析 Markdown 时，选择 Marked

如果项目需要把 Markdown 内容转换为 HTML，例如：

- 在前端展示 Markdown 文章；
- 在博客系统中渲染文章内容；
- 在后台或构建脚本中生成 HTML；
- 为 Markdown 编辑器提供预览功能；

就可以使用 Marked 等解析器。

### 两者通常一起使用

一个常见流程是：

```
Markdown 文本 → Marked 解析 → HTML → 页面展示
```

也就是说，内容使用 Markdown 编写，再由 Marked 将内容转换为网页可以展示的 HTML。

## 使用 Marked 时要注意安全

Marked 负责解析 Markdown，但**不要默认认为它会过滤所有不安全的 HTML**。如果 Markdown 内容来自用户输入，转换后的 HTML 可能包含恶意标签或脚本。

建议在插入页面前使用 HTML 清理工具，例如 DOMPurify：

```
import { marked } from 'marked';
import DOMPurify from 'dompurify';

const markdown = '# 文章标题\n\n这是一段内容。';
const html = marked.parse(markdown);
const safeHtml = DOMPurify.sanitize(html);

// 在框架模板中展示 safeHtml，具体方式取决于所用框架
```

是否需要清理，取决于内容来源和展示方式。对于用户提交的内容，通常应进行安全处理。

## 总结

**Markdown 和 Marked 不是两个同类产品：**

- **Markdown** 是编写内容的语法；
- **Marked** 是解析 Markdown 的 JavaScript 工具。

因此，选择时不必简单地在两者之间做取舍：写文档或文章时使用 Markdown；需要在 JavaScript 项目中解析这些内容时，再考虑使用 Marked。

排序方式 :

### **成为第一条评论！**

Nobody's responded to this post yet. Add your thoughts and get the conversation going.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.angryecho.com/c/qian_duan_she_qu/p/P2TBBypPps3tVZ057fhy9#post","@type":"DiscussionForumPosting","commentCount":0,"dateModified":"2026-11-01T02:55:57.400Z","datePublished":"2026-10-31T14:33:58.312Z","description":"在前端开发中，我们常会遇到 Markdown 和 Marked 这两个词。它们名字相似，但并不是同一类东西，也不是互相替代的选项。 简单来说： Markdown 是一种轻量级标记语言；Marked 是一个用于解析 Markdown 的 JavaScript 库。","headline":"Marked 与 Markdown 有什么区别？该怎么选？","isPartOf":"https://www.angryecho.com/c/qian_duan_she_qu","mainEntityOfPage":"https://www.angryecho.com/c/qian_duan_she_qu/p/P2TBBypPps3tVZ057fhy9","text":"在前端开发中，我们常会遇到 Markdown 和 Marked 这两个词。它们名字相似，但并不是同一类东西，也不是互相替代的选项。\n\n简单来说：\n\n\n\nMarkdown 是一种轻量级标记语言；Marked 是一个用于解析 Markdown 的 JavaScript 库。\n\n理解这一点，就能知道它们通常不是“二选一”，而是配合使用。\n\n什么是 Markdown？\n\nMarkdown 是一种用简单符号编写文本内容的语法。它可以表示标题、列表、链接、代码块等结构，常用于 README、技术文档、博客和评论内容。\n\n例如：\n\n# 页面标题\n\n这是一段文字，包含**加粗内容**。\n\n- 第一项\n- 第二项\n\n[访问示例网站](https://example.com)\n\nMarkdown 文件通常使用 .md 或 .markdown 后缀。它的重点是内容如何编写和组织，而不是由哪种编程语言处理。\n\n什么是 Marked？\n\nMarked 是一个 JavaScript Markdown 解析器。它可以读取 Markdown 文本，并将其转换为 HTML。\n\nimport { marked } from 'marked';\n\nconst source = '# 页面标题\\n\\n这是一段 **加粗内容**。';\nconst html = marked.parse(source);\n\nconsole.log(html);\n\n输出大致如下：\n\n\u003Ch1>页面标题\u003C/h1>\n\u003Cp>这是一段 \u003Cstrong>加粗内容\u003C/strong>。\u003C/p>\n\nMarked 关注的是如何在 JavaScript 项目中解析 Markdown。它常用于网站、Web 应用或 Node.js 服务中。\n\n核心区别\n\n\n\n\n\n\n\n对比项\n\n\n\nMarkdown\n\n\n\nMarked\n\n\n\n\n\n本质\n\n\n\n一种轻量级标记语言\n\n\n\nJavaScript 解析库\n\n\n\n\n\n用途\n\n\n\n编写和组织内容\n\n\n\n将 Markdown 转换为 HTML\n\n\n\n\n\n是否依赖某种编程语言\n\n\n\n否\n\n\n\n是，主要用于 JavaScript 环境\n\n\n\n\n\n常见形式\n\n\n\n.md 文件或 Markdown 文本\n\n\n\nnpm 包\n\n\n\n\n\n是否可以互相替代\n\n\n\n不能\n\n\n\n不能\n\n可以把它们类比为：\n\n\n\n\n\nMarkdown 像一种文章写作格式；\n\n\n\nMarked 像一个能够读懂这种格式并生成网页内容的转换工具。\n\n实际开发中怎么选？\n\n需要编写内容时，使用 Markdown\n\n如果你要写项目说明、技术文档、博客文章或知识库内容，直接使用 Markdown 即可。它易读、易写，也方便进行版本管理。\n\n需要在 JavaScript 中解析 Markdown 时，选择 Marked\n\n如果项目需要把 Markdown 内容转换为 HTML，例如：\n\n\n\n\n\n在前端展示 Markdown 文章；\n\n\n\n在博客系统中渲染文章内容；\n\n\n\n在后台或构建脚本中生成 HTML；\n\n\n\n为 Markdown 编辑器提供预览功能；\n\n就可以使用 Marked 等解析器。\n\n两者通常一起使用\n\n一个常见流程是：\n\nMarkdown 文本 → Marked 解析 → HTML → 页面展示\n\n也就是说，内容使用 Markdown 编写，再由 Marked 将内容转换为网页可以展示的 HTML。\n\n使用 Marked 时要注意安全\n\nMarked 负责解析 Markdown，但不要默认认为它会过滤所有不安全的 HTML。如果 Markdown 内容来自用户输入，转换后的 HTML 可能包含恶意标签或脚本。\n\n建议在插入页面前使用 HTML 清理工具，例如 DOMPurify：\n\nimport { marked } from 'marked';\nimport DOMPurify from 'dompurify';\n\nconst markdown = '# 文章标题\\n\\n这是一段内容。';\nconst html = marked.parse(markdown);\nconst safeHtml = DOMPurify.sanitize(html);\n\n// 在框架模板中展示 safeHtml，具体方式取决于所用框架\n\n是否需要清理，取决于内容来源和展示方式。对于用户提交的内容，通常应进行安全处理。\n\n总结\n\nMarkdown 和 Marked 不是两个同类产品：\n\n\n\n\n\nMarkdown 是编写内容的语法；\n\n\n\nMarked 是解析 Markdown 的 JavaScript 工具。\n\n因此，选择时不必简单地在两者之间做取舍：写文档或文章时使用 Markdown；需要在 JavaScript 项目中解析这些内容时，再考虑使用 Marked。","url":"https://www.angryecho.com/c/qian_duan_she_qu/p/P2TBBypPps3tVZ057fhy9","author":{"@type":"Person","name":"excel","url":"https://www.angryecho.com/u/F2Oexcel"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/DislikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":0}]}]}
```

## Sitemap

See the full [sitemap](https://www.angryecho.com/sitemap.md) for all pages.
