Как в уже существущем Nextjs проекте перенастроить роутинг?

Ссылка скопирована
1 ответ

Имеется проект на nextjs, '13.4.9', при попытке в fsd архитектуру, он соотвественно ругается на папки внутри src - app и pages - потому что видимо создавался с опцией использовать src. Куда зашита эта опция или как ее переключить?

Я создал новый проект без использования src и при последующем ручном создании папки src - nextjs не кидает ошибки, видимо он не парсит src на наличие роутинга если изначальна опция отключена

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Игорь Волков Ответ

Для перенастройки роутинга в уже существующем Next.js проекте вам потребуется внести изменения в файл `next.config.js`. В этом файле вы можете определить свои собственные правила маршрутизации для проекта.

Прежде всего, убедитесь, что у вас уже есть файл `next.config.js` в корневой директории проекта. Если его нет, создайте его.

Для перенастройки роутинга в Next.js вы можете использовать `rewrites`, `redirects` и `headers`. Вот пример того, как можно использовать `rewrites` для перенастройки роутинга:

```html

module.exports = {
  async rewrites() {
    return [
      {
        source: '/about',
        destination: '/company',
      },
      {
        source: '/blog/:slug',
        destination: '/posts/:slug',
      },
    ];
  },
};

module.exports = { async rewrites() { return [ { source: '/about', destination: '/company', }, { source: '/blog/:slug', destination: '/posts/:slug', }, ]; }, };

```

В этом примере мы перенаправляем запросы с `/about` на `/company` и запросы с `/blog/:slug` на `/posts/:slug`.

Вы также можете использовать `redirects` для выполнения перенаправлений:

```html

module.exports = {
  async redirects() {
    return [
      {
        source: '/old-blog/:slug',
        destination: '/posts/:slug',
        permanent: true,
      },
    ];
  },
};

module.exports = { async redirects() { return [ { source: '/old-blog/:slug', destination: '/posts/:slug', permanent: true, }, ]; }, };

```

В этом примере мы делаем постоянное перенаправление с `/old-blog/:slug` на `/posts/:slug`.

Кроме того, вы можете использовать `headers` для управления заголовками ответа на запросы:

```html

module.exports = {
  async headers() {
    return [
      {
        source: '/(.*)',
        headers: [
          {
            key: 'X-Frame-Options',
            value: 'DENY',
          },
        ],
      },
    ];
  },
};

module.exports = { async headers() { return [ { source: '/(.*)', headers: [ { key: 'X-Frame-Options', value: 'DENY', }, ], }, ]; }, };

```

Этот пример добавляет заголовок `X-Frame-Options: DENY` ко всем запросам.

После внесения необходимых изменений в файл `next.config.js`, перезапустите ваш Next.js проект, чтобы изменения вступили в силу. Теперь ваш роутинг должен быть перенастроен в соответствии с вашими правилами.

Надеюсь, эта информация поможет вам успешно перенастроить роутинг в вашем проекте Next.js!

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно