Middleware

createNextMiddleware

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

概要

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

たとえば、フランス語のユーザーは /fr/landing に、英語のユーザーは /en/landing に案内されます。

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

リファレンス

Props

Prop

Type

説明

Prop説明
pathConfigアプリケーションのローカライズ済みパスを定義する入れ子のオブジェクト。
localeRoutingi18n ルーティングを有効/無効にするフラグ。
prefixDefaultLocaledefaultLocale からロケールのプレフィックスを除去するかどうかを切り替えるフラグ(例: /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 で使用するミドルウェア関数を生成するユーティリティ関数です。

次の手順

このガイドはどうでしたか?

createNextMiddleware