URL-адрес динамической маршрутизации Gatsby для создания макетов
Итак, я генерирую условные макеты с помощью этого кода:
exports.onCreatePage = ({ page, actions }) => {
const { createPage } = actions;
if (page.path.match(/about/)) {
page.context.layout = "special";
createPage(page);
}
if (page.path.match(/projects/)) {
page.context.layout = "projectsPage";
createPage(page);
}
};
Я хочу изменить page.path.mathch ( / projects / TO ALL PROJECT SLUGS / ), но не могу написать правильный синтаксис для пути.
Кто-нибудь знает, как получить все пути после / projects/ ?
1 ответ
Вы можете использовать следующее регулярное выражение:
projects\/([^\/]+$)
Это будет соответствовать всему после
/projects/
. Так:
if (page.path.match(/projects\/([^\/]+$)/)) {
page.context.layout = "projectsPage";
createPage(page);
}
Я добавил песочницу для тестирования всех сценариев: https://regex101.com/r/eQRJb4/1