Перейти к содержимому

Справочник по маршрутизации

В Astro нет отдельного файла конфигурации маршрутов. Каждый файл в директории src/pages/ создает соответствующий маршрут.

Тип: boolean
По умолчанию: true в статическом режиме; false при output: 'server'

Значение, экспортируемое из файла маршрута, чтобы определить, должен ли он быть предварительно отрендерен во время сборки.

Вы можете включить серверный рендеринг для конкретного файла:

src/pages/on-demand.astro
---
export const prerender = false;
---

Тип: boolean
По умолчанию: false

Позволяет пометить страницу как фрагмент (partial), чтобы Astro не добавлял к ней стандартную обертку <html> и <head>.

---
export const partial = true;
---
<li>Элемент списка без лишних тегов</li>

Тип: (options: GetStaticPathsOptions) => Promise<GetStaticPathsResult> | GetStaticPathsResult

Функция для генерации нескольких маршрутов из одного файла компонента с использованием параметров в имени файла.

src/pages/blog/[post].astro
---
export async function getStaticPaths() {
return [
{ params: { post: '1' } },
{ params: { post: '2' } },
];
}
---

Ключи в объекте params должны совпадать с параметрами в имени файла. Значения будут подставлены в URL.

Вы можете передавать дополнительные данные каждой сгенерированной странице:

export async function getStaticPaths() {
return [
{ params: { id: '1' }, props: { title: 'Пост №1' } },
];
}
const { title } = Astro.props;

Помогает разделить большую коллекцию данных на несколько пронумерованных страниц.

export async function getStaticPaths({ paginate }) {
const items = await getItems();
return paginate(items, { pageSize: 10 });
}
const { page } = Astro.props;