Введение
Система плагинов — это важнейшая часть Rspress, которая позволяет легко расширять возможности Rspress в процессе сборки сайта. Так какие же возможности можно расширять с помощью плагинов? Сначала посмотрим на общую архитектуру Rspress.
Общая архитектура Rspress показана на рисунке ниже:

Rspress делится на две части: Node Side (сторона Node.js) и Browser Runtime (среда выполнения в браузере). С помощью системы плагинов вы можете легко расширять возможности обеих этих частей. В частности, вы можете расширять:
- Компиляцию Markdown/MDX. Вы можете добавлять плагины
remark/rehype, чтобы расширить возможности компиляции Markdown/MDX. - Добавление пользовательских страниц. Помимо обычной маршрутизации Rspress, вы можете добавлять новые маршруты через плагины, например добавить маршрут
/blogдля отображения списка блогов, содержимое которого определяете вы сами. - Настройку поведения инструмента сборки. В плагине Rspress вы можете кастомизировать конфигурацию базового инструмента сборки Rsbuild, а также добавлять плагины Rspack или Rsbuild.
- Расширение метаданных страницы. Для каждой страницы Rspress внутренне вычисляет некоторые метаданные, такие как
title,descriptionи т. д. Вы можете расширять логику вычисления этих метаданных через плагины и получать к ним доступ через хук usePageData. - Вставлять пользовательскую логику до и после процесса сборки. Например, закрывать некоторые прослушиватели событий после завершения сборки.
- Добавление глобальных компонентов. Rspress внутренне использует React для рендеринга. Вы можете гибко расширять страницы во время выполнения, определяя глобальные React-компоненты, например,
добавить глобальный компонент BackToTop (кнопка «наверх»),добавить глобальную логику с побочными эффектами.

