Как сэкономить место на диске с помощью маршрутизации NextJS для одних и тех же страниц по разным URL-адресам?

Я использую NextJS для веб-сайта, который должен отображаться полностью статически. И я также хотел бы, чтобы была включена клиентская навигация с использованием ссылок NextJS. Есть конкретная страница, на которой я открываю iFrame, атрибут src которого оценивается на стороне клиента. Для некоторых страниц я хотел бы показать текст под iFrame, и у меня эти тексты сопоставлены с некоторыми URL-адресами в базе данных. Для всех других URL-адресов (которые не имеют сопоставления с каким-либо текстом в базе данных) я хотел бы показать тот же (назовем его по умолчанию для страницы) HTML.

Пример: в базе у меня есть: { '/foo/bar', 'FOO BAR', '/baz/test': 'BAZ TEST' }

Потому что я хотел бы отобразить iFrame и FOO BAR текст ниже.

За /some/other/path, /another/path (и в основном любой другой путь, кроме /foo/bar и /baz/test) Я хотел бы отобразить только одну страницу, к которой запросы по умолчанию, чтобы сэкономить место на диске. Причина в том, что у меня будет примерно 20-30 страниц с текстом и примерно 10 тыс. Страниц без текста.

Я пробовал использовать правила перезаписи вместе с опцией на странице, но, похоже, для этого конкретного сценария нет правильной комбинации.

Что я пробовал:

[... slug.ts] (для рендеринга iFrame с текстом) с fallback: 'false' и возвращаемое значение getStaticPaths ['/foo / bar', 'baz / test'] вместе с [default.ts] (для визуализации только iFrame), и я попробовал две разные настройки конфигурации в next.config.js:

Попытка 1: rewrites() { return [{'source': '/:slug*', 'destination': '/default'] }

Попытка 2: rewrites() { return { 'fallback': [{'source': '/:slug*', 'destination': '/default'}]} }

Кажется, что ничего из этого не работает, и я начинаю думать, что, возможно, я использую здесь совершенно неправильный подход. Какие-либо предложения?

0 ответов

Другие вопросы по тегам