Middleware

createNextMiddleware()

Referencia de API para el método createNextMiddleware().

Descripción general

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

Por ejemplo, un usuario francés sería dirigido a /fr/landing y un usuario inglés sería dirigido a /en/landing.

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

Referencia

Props

PropTypeDefault
prefixDefaultLocale?
string | number
-
localeRouting?
string
pathConfig?
any
{}

Descripción

PropDescripción
pathConfigUn objeto anidado que especifica las rutas localizadas para tu aplicación.
localeRoutingUn indicador para habilitar o deshabilitar el enrutamiento i18n.
prefixDefaultLocaleUn indicador para habilitar o deshabilitar la eliminación del prefijo de idioma en la configuración regional predeterminada. (por ejemplo, /en/about -> /about)

Ejemplo

Uso básico

Simplemente invoca y agrega esta función junto con el path matcher a tu archivo de middleware para habilitar el enrutamiento por idioma.

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

export default createNextMiddleware();

export const config = {
  matcher: [
    /*
      * Match all request paths except for the ones starting with:
      * - api (API routes)
      * - _next (internal files)
      * - static files
      */
    "/((?!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 i18n para una explicación detallada de cómo funciona esto.

Quitar el prefijo de idioma predeterminado

Puedes quitar el prefijo de idioma predeterminado configurando la opción prefixDefaultLocale en false.

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

Cuando esto es verdadero, entonces cada ruta debe estar precedida por el idioma. Si lo configuras en false (que es el valor predeterminado), entonces solo se eliminará el idioma predeterminado de la ruta.


Notas

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

Próximos pasos

  • Consulta las instrucciones sobre cómo agregar enrutamiento i18n a tu aplicación Next.js.

¿Qué te parece esta guía?