設定
ルーターを設定するには、プロジェクトのルートに react-server.config.mjs
または react-server.config.json
ファイルを作成します。設定ファイルは設定オブジェクトをエクスポートし、ルートのための root
パスを含める必要があります。静的ファイルのための public
パスも指定できます。ファイルシステムベースのルーターは、ルートディレクトリにあるファイルをルーティングのために自動的にスキャフォールドし、ルートディレクトリにあるファイルに基づいてルーティングを準備およびビルドします。
react-server.config.mjsexport default {
root: "src/pages",
public: "public",
};
設定で router(config)
関数を使うことで、ルーティングからファイルとディレクトリを除外するようにルーターを設定することができます。この関数は excludes
プロパティにルーティングから除外するファイル名とディレクトリ名の配列を含む設定オブジェクトを返す必要があります。グロブパターンを使って複数のファイルやディレクトリを除外することができます。
react-server.config.mjsexport default {
root: "src/pages",
public: "public",
router(config) {
return {
...config,
excludes: ["_*"],
};
},
};
異なるタイプのルートに対しても、タイプ固有の設定関数を定義することで同様の機能を使用できます。すべてのタイプのルートに対して router
関数が呼び出されますが、異なるタイプのルートに対してルーティングを設定するために layout
、page
、middleware
、api
関数を定義することができます。
react-server.config.mjsexport default {
root: "src/pages",
public: "public",
router(config) {
return {
...config,
// Exclude all files and directories starting with an underscore
excludes: ["_*"],
};
},
layout(config) {
return {
...config,
// Exclude all layout files including the word "private"
excludes: ["*private*"],
};
},
page(config) {
return {
...config,
// Exclude all page files starting with "hidden-"
excludes: ["hidden-*"],
};
},
middleware(config) {
return {
...config,
// Exclude all middleware files starting with "disabled-"
excludes: ["disabled-*"],
};
},
api(config) {
return {
...config,
// Exclude all API files containing the word "PATCH"
excludes: ["*PATCH*"],
};
},
};
ルーティングに特定のファイルとディレクトリのみを含めるようにルーターを設定するには、設定内のrouter(config)
関数を使用します。この関数は、ルーティングに含めるファイル名とディレクトリ名の配列を含む includes
プロパティを持つ設定オブジェクトを返す必要があります。グロブパターンを使うことで、複数のファイルやディレクトリを含めることができます。
react-server.config.mjsexport default {
root: "src/pages",
public: "public",
router(config) {
return {
...config,
// Include only the about page
includes: ["about.page.jsx"],
};
},
};