close

Введение

Система плагинов — это важнейшая часть Rspress, которая позволяет легко расширять возможности 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 (кнопка «наверх»), добавить глобальную логику с побочными эффектами.