createNextMiddleware
createNextMiddleware() 方法 API 参考。
概览
createNextMiddleware 是一个用于创建中间件函数的实用工具,可在 Next.js 中使用。
它允许你在 Next.js 应用中为每个 locale 配置不同的路由。
例如,法语用户会被定向至 /fr/landing,而英语用户会被定向至 /en/landing。
有关如何使用该中间件的更多信息,请参阅 i18n 路由指南。
参考资料
Props
Prop
Type
描述
| Prop | 描述 | 
|---|---|
| pathConfig | 一个嵌套对象,用于为应用指定各语言本地化路径。 | 
| localeRouting | 是否启用 i18n 路由的开关。 | 
| prefixDefaultLocale | 是否在默认 locale 下移除 locale 前缀的开关(例如: /en/about->/about)。 | 
示例
基本用法
只需在你的 middleware 文件中添加并调用此函数,同时配置路径匹配器,即可启用 locale 路由。
import { createNextMiddleware } from 'gt-next/middleware'
export default createNextMiddleware();
export const config = {
  matcher: [
    /*
      * 匹配所有请求路径,但排除以下前缀:
      * - api(API 路由)
      * - _next(内部文件)
      * - 静态文件
      */
    "/((?!api|static|.*\\..*|_next).*)",
  ],
}本地化路径
你可以在中间件文件中通过 pathConfig 选项指定本地化路径。
export default createNextMiddleware({
  pathConfig: {
    "/about": "/about",
    "/airplanes": {
      "zh": "/飞机",
    }
  },
});有关其工作方式的详细说明,请参阅i18n 路由指南。
移除默认 locale 前缀
可将 prefixDefaultLocale 选项设置为 false,以移除默认 locale 的前缀。
export default createNextMiddleware({
  prefixDefaultLocale: true,
});当该值为 true 时,每个路径都必须加上 locale 前缀。
如果将其设置为 false(默认值),则只会从路径中移除默认的 locale。
注意事项
- createNextMiddleware是一个工具函数,用于为 Next.js 创建中间件函数。
下一步
这份指南怎么样?

