В Waku появился файловый роутер страниц. Можно создавать новые страницы просто создав файл в ./src/pages. Поддерживаются сегментированные параметры blog/[slug].tsx и шаблоны _layout.tsx для оборачивания дочерних роутов.
Новая страница создается через создание файла с двумя экспортами: дефолтный для компонента и именованный getConfig для функции, которая возвращает объект настройки. В getConfig можно определить метод рендера страницы: динамический SSR и статический SSG.
Если роут с сегментированными параметрами и с статическим методом рендера, то надо заранее определить staticPaths:
// ./src/pages/blog/[slug].tsx
export default async function BlogArticlePage({ slug }) {
// --snip--
}
const getData = async (slug) => {
// --snip--
};
export const getConfig = async () => {
return {
render: 'static',
staticPaths: ['introducing-waku', 'introducing-pages-router'],
};
};
Статический рендер происходит во время сборки и его можно использовать в шаблонных роутах_layout.tsx, а дочерние роуты рендерить динамически.
https://waku.gg/blog/introducing-pages-router