Rspress是一款基于Rsbuild開發(fā)的靜態(tài)網(wǎng)站生成工具,專為開發(fā)者文檔編寫而設(shè)計。此次發(fā)布的2.0版本在主題設(shè)計、構(gòu)建性能、人工智能集成以及開發(fā)者使用體驗等方面進(jìn)行了大量改進(jìn)。該版本于2026年1月30日正式發(fā)布,在1.x版本的開發(fā)過程中共經(jīng)歷了144次更新,其中125位開發(fā)者為這一版本的完善做出了貢獻(xiàn)。

Rspress 2.0引入了由設(shè)計師Zovn Wei重新設(shè)計的默認(rèn)主題,并提供了四層級的自定義選項。開發(fā)者可以通過調(diào)整CSS變量來快速更改頁面主題,通過指定BEM類名來實現(xiàn)精確的樣式覆蓋,利用ESM重導(dǎo)出功能替換特定組件,甚至完全移除某些組件以獲得更大的靈活性。采用BEM設(shè)計模式是為了避免與任何特定的CSS框架產(chǎn)生沖突,這樣團(tuán)隊就可以自由使用TailwindLessSass等工具而不會遇到版本兼容性問題。

其中一個具有前瞻性的新功能是“Markdown靜態(tài)網(wǎng)站生成”模式(SSG-MD)。這種新的渲染方式能夠?qū)⑽臋n內(nèi)容直接轉(zhuǎn)換為Markdown格式文件以及llms.txt格式的輸出。與傳統(tǒng)的將HTML轉(zhuǎn)換回Markdown的方法不同,SSG-MD是通過React的虛擬DOM來渲染內(nèi)容,從而生成適合人工智能模型處理的高質(zhì)量Markdown文本。啟用這一功能只需要添加一行配置代碼:

import { defineConfig } from '@rspress/core';

export default defineConfig({
   llms: true,
});

在構(gòu)建性能方面,通過默認(rèn)啟用的“延遲編譯”和“持久化緩存”兩項功能,Rspress 2.0的性能得到了顯著提升。采用延遲編譯機(jī)制后,只有在開發(fā)過程中實際訪問某個頁面時才會對其進(jìn)行編譯;根據(jù)Rspress團(tuán)隊在GitHub上分享的測試數(shù)據(jù),這種做法能使頁面的加載時間從幾秒縮短到僅50毫秒。而“路由預(yù)加載”功能則能在用戶懸停鼠標(biāo)于鏈接上時立即開始編譯相關(guān)內(nèi)容,從而確保導(dǎo)航體驗的流暢性。持久化緩存機(jī)制還能重復(fù)利用之前的編譯結(jié)果,使后續(xù)的構(gòu)建速度提高30%到60%。

代碼高亮顯示功能也從Prism切換到了Shiki。現(xiàn)在,代碼高亮是在構(gòu)建階段而不是運行時進(jìn)行的,因此這種高亮效果與VS Code的一致性更高。同時,Shiki還支持基于TextMate語法進(jìn)行代碼高亮顯示,允許用戶按需導(dǎo)入不同語言的相關(guān)設(shè)置,且不會對運行效率產(chǎn)生任何影響;此外,它還支持諸如“twoslash”這樣的自定義轉(zhuǎn)換器,用于為代碼添加內(nèi)聯(lián)類型提示。

此次版本更新還優(yōu)化了軟件的包結(jié)構(gòu)。原本分散的多個包,包括rspress@rspress/runtime@rspress/shared以及@rspress/theme-default,都被合并到了一個統(tǒng)一的@rspress/core包中。

對于這款新工具的發(fā)布,用戶們的反應(yīng)普遍積極。有位用戶在r/Rspack子版塊中評論道:
“我很高興看到有這樣的工具出現(xiàn)!恭喜你們成功發(fā)布了這款產(chǎn)品!”

GitHub上的討論帖中,人們熱烈地討論了這一新工具中的各種變化。共有26條評論和19條回復(fù),內(nèi)容涉及如何將原有的配置系統(tǒng)遷移到React Router框架中。

DocusaurusVitePress這類替代品相比,Rspress的主要優(yōu)勢在于其構(gòu)建速度——這要歸功于它所基于的Rspack技術(shù)以及那些專為AI設(shè)計的功能。Docusaurus本身也承認(rèn),Rspress“得益于現(xiàn)代化的基礎(chǔ)設(shè)施,因此能夠更快地完成網(wǎng)站構(gòu)建”,同時它也強(qiáng)調(diào)了自己在成熟度及社區(qū)規(guī)模方面的優(yōu)勢。而VitePress則更適用于基于Vue的項目,而Rspress則是為React生態(tài)系統(tǒng)量身打造的。

Rspress 2.0要求使用Node.js 20或更高版本,并且支持React 18和19版本。原本基于Rust語言開發(fā)的MDX解析器@rspress/mdx-rs已被替換為JavaScript版本的MDX解析器,雖然這樣會略微降低編譯速度,但能夠更好地與Shiki等工具以及各種自定義插件進(jìn)行兼容。對于那些需要從1.x版本升級到2.0版本的團(tuán)隊來說,這份詳細(xì)的遷移指南會提供很大的幫助。

Rspress是一款開源的靜態(tài)網(wǎng)站生成工具,它建立在RsbuildRspack的基礎(chǔ)上,屬于更廣泛的Rstack JavaScript工具鏈的一部分。這款工具專為構(gòu)建支持MDX格式、具備基于 convention 的路由機(jī)制以及組件庫預(yù)覽功能的文檔網(wǎng)站而設(shè)計,同時它還與Rslib集成在一起,從而為組件庫的文檔管理工作提供了便利。

Comments are closed.