Vue 團(tuán)隊(duì)成員又搞了個(gè) "新玩具"!
Vue 團(tuán)隊(duì)成員真的是太卷了,又搞了個(gè)新玩具:markdown-exit——markdown-it 的 TypeScript「重構(gòu)版」來(lái)了!

如果你用過(guò) VitePress、Slidev、或者任何 Vue 系文檔站,你一定對(duì) markdown-it 不陌生:它就是把 Markdown 變成 HTML 的那臺(tái)“發(fā)動(dòng)機(jī)”。
問(wèn)題是,這臺(tái)發(fā)動(dòng)機(jī)是 2014 年的設(shè)計(jì),純 JavaScript 寫成,類型靠社區(qū)維護(hù),異步插件更是想都別想。
于是,Vue 團(tuán)隊(duì)的核心成員 Anthony Fu 在推特上“許愿”:

“我找這東西太久了!缺少異步插件限制了我們太多玩法,真希望 VitePress、Slidev 能用上。”
不到兩周,SerKo(@serkodev)直接甩出一個(gè)新倉(cāng)庫(kù)——markdown-exit。
它到底干了啥?
把 Markdown 轉(zhuǎn)成 HTML,但換了顆“TypeScript 心臟”。
能力 | markdown-it | markdown-exit |
輸出 HTML | ? | ?(100% 兼容) |
同步插件 | ? | ? |
異步插件 | ? | ?(官方支持) |
類型定義 | 社區(qū) @types | 原生自帶 |
現(xiàn)代構(gòu)建 | 無(wú) | Vite + Vitest + pnpm monorepo |
代碼高亮 | 靠插件 | 異步高亮一句話搞定 |
對(duì) Vue 生態(tài)意味著什么?
- VitePress:以后可以在編譯階段做“異步代碼拉取”、“遠(yuǎn)程片段嵌入”而不用寫臟腳本。
- Slidev:幻燈片里直接引用 GitHub 文件、CodePen、CodeSandbox,實(shí)時(shí)渲染。
- 普通 Vue 項(xiàng)目:服務(wù)端渲染(SSR)或邊緣函數(shù)(Vite SSR / Nuxt)里,再也不用 require('@types/markdown-it') 一把梭。
Anthony Fu 在轉(zhuǎn)發(fā)里寫:
“等不及想在 VitePress、Slidev 上落地了!”

兩分鐘上手
# 最新特性版(公測(cè)中)
npm i markdown-exit
# 求穩(wěn)用兼容版
npm i markdown-exit@legacy// 命名導(dǎo)入,Tree-shaking 友好
import { createMarkdownExit } from 'markdown-exit'
const md = createMarkdownExit()
console.log(md.render('# Hello markdown-exit'))異步高亮示例(以前做不到):
md.use(asyncPlugin, async (code, lang) => {
const html = await fetchHighlighter(lang) // 任意異步操作
return html
})遷移零成本
舊項(xiàng)目里全局替換即可:
- import MarkdownIt from 'markdown-it'
+ import MarkdownExit from 'markdown-exit'所有插件、配置、渲染結(jié)果一行不改,直接運(yùn)行。
時(shí)間線 & 路線圖
- 現(xiàn)在:v1.0.0-beta 公測(cè),功能已齊,API 鎖定中。
- 未來(lái) 1 ~ 2 個(gè)月:發(fā)布正式版 v1.0.0;VitePress、Slidev 官方模板同步切換。
- 長(zhǎng)期:探索 AST 級(jí)別緩存、WebAssembly 加速、流式渲染等高級(jí)玩法。
結(jié)語(yǔ)
從 vue/core 到 vite,再到現(xiàn)在的 markdown-exit,Vue 團(tuán)隊(duì)及其周邊伙伴似乎一直在做同一件事:把“底層基礎(chǔ)設(shè)施”重新洗一遍牌,讓上層開(kāi)發(fā)者爽到飛起。
所以,下次你要在 Vue 項(xiàng)目里“整點(diǎn) Markdown”時(shí),不妨試試這顆新心臟——npm i markdown-exit,然后跟過(guò)去的類型報(bào)錯(cuò)、異步限制說(shuō)拜拜吧!
markdown-exit Github 地址:https://github.com/serkodev/markdown-exit


































