Middleware

createNextMiddleware

Referencia de API del método createNextMiddleware().

Descripción general

createNextMiddleware es una función de utilidad que genera un middleware para usar con Next.js. Permite agregar una ruta distinta para cada locale en su aplicación de Next.js.

Por ejemplo, a un usuario francés se le dirigiría a /fr/landing y a un usuario inglés a /en/landing.

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

Referencia

Props

Prop

Type

Descripción

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

Ejemplo

Uso básico

Solo tienes que invocar esta función y agregar 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 con:
      * - api (rutas de API)
      * - _next (files internos)
      * - files estáticos
      */
    "/((?!api|static|.*\\..*|_next).*)",
  ],
}

Rutas localizadas

Puedes especificar 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 una explicación detallada de cómo funciona.

Quitar el prefijo del locale predeterminado

Puedes eliminar 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 parece esta guía?