Middleware

createNextMiddleware()

createNextMiddleware() 方法的 API 参考。

概述

createNextMiddleware() 是一个实用函数,用于创建一个可用于 Next.js 的中间件函数。 它允许您为 Next.js 应用程序中的每个语言环境添加不同的路由。

例如,法语用户将被引导到 /fr/landing,而英语用户将被引导到 /en/landing

有关如何使用此中间件的更多信息,请参阅i18n 路由指南

参考

属性

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

描述

属性描述
pathConfig一个嵌套对象,用于指定应用程序的本地化路径。
localeRouting一个标志,用于启用或禁用 i18n 路由。
prefixDefaultLocale一个标志,用于启用或禁用从默认语言中移除语言前缀。(例如 /en/about -> /about

示例

基本用法

只需在您的中间件文件中调用此函数和路径匹配器以启用本地化路由。

middleware.js
import { createNextMiddleware } from 'gt-next/middleware'
 
export default createNextMiddleware();
 
export const config = {
  matcher: [
    /*
      * 匹配所有请求路径,除了以下开头的路径:
      * - api (API 路由)
      * - _next (内部文件)
      * - 静态文件
      */
    "/((?!api|static|.*\\..*|_next).*)",
  ],
}

本地化路径

您可以通过中间件文件中的 pathConfig 选项指定本地化路径。

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

请参阅i18n 路由指南以获取有关其工作原理的详细说明。

移除默认语言前缀

您可以通过将 prefixDefaultLocale 选项设置为 false 来移除默认语言前缀。

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

当此选项为 true 时,每个路径都必须以语言前缀开头。 如果将其设置为 false(这是默认值),则只有默认语言将从路径中移除。


注意事项

  • createNextMiddleware() 函数是一个实用函数,用于为 Next.js 创建中间件函数。

下一步

  • 查看说明以了解如何将 i18n 路由添加到您的 Next.js 应用程序。

在本页面