Middleware

createNextMiddleware

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

概要

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

たとえば、フランス語のユーザーは /fr/landing に、英語のユーザーは /en/landing にリダイレクトされます。

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

リファレンス

Props

Prop

Type

説明

Prop説明
pathConfigアプリケーションのローカライズされたパスを指定するネストされたオブジェクト。
localeRoutingi18n ルーティングを有効または無効にするフラグ。
prefixDefaultLocale既定のロケールからロケールのプレフィックスを取り除くかどうかを制御するフラグ(例: /en/about/about)。

基本的な使い方

この関数とパス・マッチャーをミドルウェアファイルに追加して呼び出すだけで、locale ルーティングを有効にできます。

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 の場合、すべてのパスに locale のプレフィックスを付ける必要があります。 これを false(デフォルト)に設定すると、既定の locale だけがパスから省かれます。


注意事項

  • createNextMiddleware 関数は、Next.js で使用するミドルウェア関数を作成するためのユーティリティ関数です。

次のステップ

このガイドはいかがですか?