Middleware

createNextMiddleware

Referencia de API del método createNextMiddleware().

Descripción general

createNextMiddleware es una función utilitaria que genera una función de middleware para usar con Next.js. Te permite agregar una ruta diferente para cada locale en tu aplicación de Next.js.

Por ejemplo, un usuario francófono sería redirigido a /fr/landing y un usuario anglófono a /en/landing.

Para obtener más información sobre cómo usar este middleware, consulta la guía de enrutamiento i18n.

Referencias

Props

Prop

Type

Descripción

PropDescripción
pathConfigUn objeto anidado que especifica las rutas localizadas de tu aplicación.
localeRoutingIndicador para habilitar o deshabilitar el enrutamiento i18n.
prefixDefaultLocaleIndicador para habilitar o deshabilitar la eliminación del prefijo de locale en la defaultLocale. (p. ej., /en/about -> /about)

Ejemplo

Uso básico

Solo importa esta función y agrega el comparador de rutas a tu archivo de middleware para habilitar el enrutamiento por locale.

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

export default createNextMiddleware();

export const config = {
  matcher: [
    /*
      * Coincide con todas las rutas de solicitud excepto aquellas que comienzan por:
      * - api (rutas de la API)
      * - _next (archivos internos)
      * - archivos estáticos
      */
    "/((?!api|static|.*\\..*|_next).*)",
  ],
}

Rutas localizadas

Puedes definir rutas localizadas mediante la opción pathConfig en el archivo de middleware.

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

Consulta la guía de enrutamiento de i18n para obtener una explicación detallada de cómo funciona.

Quitar el prefijo del locale predeterminado

Puedes quitar el prefijo del locale predeterminado estableciendo la opción prefixDefaultLocale en false.

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

Cuando esto es true, cada ruta debe llevar el prefijo del locale. Si lo configuras en false (valor predeterminado), solo se eliminará el locale predeterminado de la ruta.


Notas

  • La función createNextMiddleware es una utilidad que crea una función de middleware para usar con Next.js.

Siguientes pasos

¿Qué te ha parecido esta guía?

createNextMiddleware