Знакомьтесь с Rspress: генератор сайтов на базе Rust
Если вы поддерживаете библиотеку React-компонентов или проект, ориентированный на разработчиков, вы наверняка сталкивались с одним и тем же компромиссом: инструменты документирования либо быстрые, но ограниченные, либо гибкие, но медленные. Rspress создан, чтобы устранить этот разрыв.
Ключевые выводы
- Rspress — это статический генератор сайтов на базе React, работающий на инструментарии сборки Rspack на Rust, обеспечивающий быструю сборку с полной поддержкой MDX.
- Версия 2.0 представляет многоуровневую систему тем, подсветку синтаксиса во время сборки с помощью Shiki, ленивую компиляцию по умолчанию и Markdown-вывод, дружественный к ИИ, через SSG-MD.
- Все основные пакеты консолидированы в
@rspress/core, требуется Node.js 20+ и React 18 или 19. - Rspress лучше всего подходит для документации, ориентированной на React, и сайтов библиотек компонентов; для проектов на Vue или Svelte лучше подойдут VitePress или Docusaurus.
Что такое Rspress?
Rspress — это генератор документации для React и статический генератор сайтов, построенный на Rsbuild и работающий на сборщике Rspack — совместимом с webpack сборщике на базе Rust. Если быть точным: сам Rspress является React-фреймворком, а не Rust-приложением. Прирост производительности обеспечивается инструментарием сборки Rspack на Rust, в то время как вы пишете свою документацию и компоненты на React и MDX, как обычно.
Он является частью более широкой экосистемы Rstack — унифицированного JavaScript-инструментария, построенного вокруг Rspack, — который также включает Rsbuild, Rslib, Rsdoctor и Rstest.
Rspress ориентирован на два основных сценария использования: сайты документации для разработчиков и документация библиотек компонентов. Он поддерживает MDX из коробки, что означает, что вы можете встраивать живые React-компоненты непосредственно в ваши Markdown-страницы — полезно, когда вам нужны интерактивные примеры наряду с текстовыми объяснениями.
Что нового в Rspress 2.0
Rspress 2.0, выпущенный в начале 2026 года, выходит за рамки простой производительности сборки. Вот что изменилось.
Переработанная система тем
Тема по умолчанию получила полное визуальное обновление. Что более важно, версия 2.0 представляет четыре уровня кастомизации:
- CSS-переменные — настройка цветов, фонов блоков кода и стилей макета
- BEM-имена классов — переопределение стилей компонентов без конфликтов с CSS-фреймворками
- Переопределения через ESM re-export — замена любого встроенного компонента через
theme/index.tsx - Извлечение компонентов — копирование исходного кода компонента в ваш проект с помощью
rspress eject [component]и его прямая модификация
Это заменяет нестабильный API тем из версии 1.x и предоставляет вам предсказуемый, многоуровневый путь кастомизации.
Shiki для подсветки синтаксиса во время сборки
Rspress 2.0 заменяет подсветку во время выполнения на Shiki, который работает во время компиляции. Это означает нулевые накладные расходы во время выполнения, точную подсветку в стиле VS Code через грамматики TextMate и поддержку трансформеров, таких как @rspress/plugin-twoslash для встроенных подсказок типов TypeScript.
Discover how at OpenReplay.com.
Более быстрый старт разработки с ленивой компиляцией
lazyCompilation теперь включена по умолчанию. Страницы компилируются только при их посещении во время разработки, что означает практически мгновенный запуск независимо от размера вашего сайта документации. Стратегия предзагрузки маршрутов при наведении на ссылку обеспечивает плавную навигацию.
Постоянное кэширование также включено по умолчанию, сокращая время сборки при «тёплом» старте на 30–60%.
Документация, дружественная к ИИ, с SSG-MD
Rspress 2.0 представляет SSG-MD (Static Site Generation to Markdown) — функцию, которая рендерит вашу документацию в виде чистых Markdown-файлов наряду со стандартным HTML-выводом, а затем генерирует файлы llms.txt и llms-full.txt, следуя спецификации llms.txt.
import { defineConfig } from '@rspress/core';
export default defineConfig({
llms: true,
});
В отличие от преобразования HTML в Markdown постфактум, SSG-MD работает с виртуальным DOM React во время рендеринга, производя вывод более высокого качества. Вы также можете контролировать, что включается для каждого компонента, используя import.meta.env.SSG_MD. Обратите внимание, что эта функция всё ещё развивается, и команда отметила дальнейшие улучшения как часть дорожной карты.
Консолидация пакетов
В версии 2.0 старые пакеты rspress, @rspress/runtime, @rspress/shared и @rspress/theme-default объединены в единый пакет @rspress/core. Фреймворк теперь требует Node.js 20+ и React 18 или 19.
Стоит ли использовать Rspress?
Rspress хорошо подходит, если вы создаёте документацию для React-проекта или библиотеки компонентов и хотите быструю сборку, поддержку MDX и тему, которую действительно можно настроить. Он напрямую интегрируется с Rslib для рабочих процессов библиотек компонентов, а экосистема плагинов — включая поиск Algolia, генерацию sitemap и twoslash — покрывает большинство потребностей сайтов документации.
Если ваш проект использует Vue или Svelte, или вам нужна более устоявшаяся экосистема, VitePress или Docusaurus остаются надёжными альтернативами. Но для документации, ориентированной на React, Rspress 2.0 заслуживает пристального внимания.
Часто задаваемые вопросы
Rspress обеспечивает более быструю сборку благодаря сборщику Rspack на базе Rust и поставляется с такими функциями, как ленивая компиляция и постоянное кэширование по умолчанию. Docusaurus имеет более обширную экосистему плагинов и более широкое сообщество. Если скорость сборки и тесная интеграция с Rstack наиболее важны, Rspress — более сильный выбор. Для более зрелой экосистемы Docusaurus остаётся надёжным вариантом.
Да, но вам нужно будет обновить импорты, поскольку все основные пакеты теперь консолидированы под @rspress/core. API тем также изменился, поэтому любые пользовательские переопределения тем, созданные для API версии 1.x, потребуют рефакторинга для использования новой многоуровневой системы кастомизации. Команда Rspress предоставляет руководство по миграции в официальной документации.
Нет. Rspress разработан специально для React и MDX. Если ваш проект использует Vue, VitePress является хорошо поддерживаемой альтернативой. Для Svelte или других фреймворков вам потребуется рассмотреть другие генераторы статических сайтов. Rspress фокусируется на качественной документации для React, а не на попытках поддерживать несколько фреймворков.
SSG-MD генерирует чистые Markdown-файлы из вашей документации наряду со стандартным HTML-выводом. Она также создаёт файлы llms.txt, которые следуют развивающейся спецификации для обеспечения доступности содержимого сайта большим языковым моделям. Это полезно, если вы хотите, чтобы инструменты ИИ точно ссылались на вашу документацию. Функция работает с виртуальным DOM React для получения вывода более высокого качества.
Gain Debugging Superpowers
Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers. Check our GitHub repo and join the thousands of developers in our community.