Middleware

createNextMiddleware()

createNextMiddleware() メソッドのAPIリファレンス。

概要

createNextMiddleware() は、Next.js で使用するミドルウェア関数を作成するユーティリティ関数です。 これにより、Next.js アプリケーションで各ロケールに異なるルートを追加することができます。

例えば、フランスのユーザーは /fr/landing に、英語のユーザーは /en/landing に誘導されます。

このミドルウェアの使用方法についての詳細は、i18n ルーティングガイドを参照してください。

リファレンス

Props

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

説明

Prop説明
pathConfigアプリケーションのローカライズされたパスを指定するネストされたオブジェクト。
localeRoutingi18n ルーティングを有効または無効にするフラグ。
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 で使用するミドルウェア関数を作成するユーティリティ関数です。

次のステップ

  • Next.jsアプリケーションにi18nルーティングを追加する方法については、指示を参照してください。

このページについて