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