createNextMiddleware
createNextMiddleware() メソッドのAPIリファレンス
概要
createNextMiddleware は、Next.js で使用するミドルウェア関数を生成するユーティリティ関数です。
これにより、Next.js アプリケーションで locale ごとに異なるルートを追加できます。
たとえば、フランス語のユーザーは /fr/landing に、英語のユーザーは /en/landing にリダイレクトされます。
このミドルウェアの使い方の詳細は、i18n ルーティングガイドを参照してください。
リファレンス
Props
Prop
Type
説明
| Prop | 説明 |
|---|---|
pathConfig | アプリケーションのローカライズされたパスを指定するネストされたオブジェクト。 |
localeRouting | i18n ルーティングを有効または無効にするフラグ。 |
prefixDefaultLocale | 既定のロケールからロケールのプレフィックスを取り除くかどうかを制御するフラグ(例: /en/about → /about)。 |
例
基本的な使い方
この関数とパス・マッチャーをミドルウェアファイルに追加して呼び出すだけで、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 ルーティングガイドをご覧ください。
既定ロケールのプレフィックスを削除する
prefixDefaultLocale オプションを false に設定すると、既定ロケールのプレフィックスを削除できます。
export default createNextMiddleware({
prefixDefaultLocale: true,
});これが true の場合、すべてのパスに locale のプレフィックスを付ける必要があります。
これを false(デフォルト)に設定すると、既定の locale だけがパスから省かれます。
注意事項
createNextMiddleware関数は、Next.js で使用するミドルウェア関数を作成するためのユーティリティ関数です。
次のステップ
このガイドはいかがですか?