Middleware

createNextMiddleware

Справочник API по методу createNextMiddleware().

Обзор

createNextMiddleware — это вспомогательная функция, которая создает middleware‑функцию для использования с Next.js. Она позволяет добавить отдельный маршрут для каждой локали в вашем приложении на Next.js.

Например, francophone‑пользователь будет перенаправлен на /fr/landing, а англоязычный — на /en/landing.

Подробнее о том, как использовать этот middleware, см. руководство по маршрутизации i18n.

Справочные материалы

Пропсы

Prop

Type

Описание

PropОписание
pathConfigВложенный объект, задающий локализованные пути вашего приложения.
localeRoutingФлаг для включения или отключения i18n‑маршрутизации.
prefixDefaultLocaleФлаг, который включает или отключает удаление префикса локали для локали по умолчанию (например, /en/about/about).

Пример

Базовое использование

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

middleware.js
import { createNextMiddleware } from 'gt-next/middleware'

export default createNextMiddleware();

export const config = {
  matcher: [
    /*
      * Соответствует всем путям запросов, за исключением начинающихся с:
      * - api (маршруты API)
      * - _next (внутренние файлы)
      * - статические файлы
      */
    "/((?!api|static|.*\\..*|_next).*)",
  ],
}

Локализованные пути

Вы можете задать локализованные пути с помощью параметра pathConfig в файле middleware.

middleware.js
export default createNextMiddleware({
  pathConfig: {
    "/about": "/about",
    "/airplanes": {
      "zh": "/飞机",
    }
  },
});

См. руководство по i18n‑маршрутизации для подробного объяснения принципов работы.

Удалить префикс локали по умолчанию

Вы можете убрать префикс локали по умолчанию, установив параметр prefixDefaultLocale в значение false.

middleware.js
export default createNextMiddleware({
  prefixDefaultLocale: true,
});

Когда значение равно true, каждый путь должен начинаться с префикса локали. Если установить false (значение по умолчанию), из пути будет удаляться только локаль по умолчанию.


Примечания

  • Функция createNextMiddleware — это вспомогательная функция, которая создаёт middleware для использования в Next.js.

Что дальше

Насколько полезно это руководство?

createNextMiddleware