Файловая маршрутизация
Что это такое?
Rspress использует маршрутизацию на основе файловой системы: путь каждого файла страницы напрямую сопоставляется с URL-маршрутом, что делает структуру маршрутов проекта понятной.
Например, файл foo.md в директории docs будет доступен по маршруту /foo.
Правила сопоставления
Rspress автоматически сканирует корневую директорию и все вложенные поддиректории, преобразуя пути к файлам в пути маршрутов. Например, при следующей структуре файлов:
Далее bar.md будет доступен по маршруту /foo/bar, а /foo/index.md — по маршруту /foo/.
Конкретные правила сопоставления выглядят так:
Не создавайте файлы и папки с одинаковыми именами, так как это приводит к конфликтам маршрутизации. Например, следующая структура файлов недопустима:
Маршрутизация через TSX
В конвенциональной маршрутизации файлы .tsx также могут выступать как компоненты маршрутов, помимо .md(x) файлов. По умолчанию компонент, экспортируемый из .tsx файла, автоматически регистрируется как маршрут. Например:
Чтобы настроить макет, экспортируйте frontmatter и укажите тип макета:
Подробное описание всех возможных значений pageType смотрите в документации API.
Пользовательская маршрутизация
Если требуется изменить стандартное поведение маршрутизации, можно воспользоваться полем route в конфигурации:
Лучшие практики
Рекомендуется размещать файлы документации в директории docs, чтобы структура проекта оставалась понятной. Старайтесь по возможности хранить не-документационный контент, например пользовательские компоненты и утилиты, вне docs. Если их необходимо разместить внутри docs, исключайте их через route.exclude.
Если вы размещаете пользовательские компоненты или фрагменты документов в директории docs, используйте route.exclude; в противном случае эти файлы автоматически регистрируются как маршруты и могут привести к неожиданному поведению.
Вот рекомендуемая структура файлов, которая включает фрагменты MDX и компоненты React, пользовательские темы, файловую маршрутизацию и интернационализацию:

