Middleware

createNextMiddleware()

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

概要

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

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

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

リファレンス

プロパティ

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

説明

プロパティ説明
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ルーティングを追加する方法については、手順をご覧ください。

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