マルチサイトアプリケーションで手動でサイトを設定してください
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
デフォルトでは、Next.jsマルチサイトアドオンはSitecoreインスタンスからサイト情報のリストを直接取得し、すべてのサイトはビルド時に静的に生成されます。
場合によっては、静的に生成されるサイトの数を減らすか、マルチサイトのJSS Next.jsアプリケーションにどのサイトを含めるかを指定することも検討してください。
両方の手順を同時に適用できます。
静的生成用に一部のサイトを構成する
すべてのサイトはビルド時にデフォルトで静的に生成されますが、マルチサイトアドオンを設定すれば、静的に生成するサイトの一部だけに設定できます。
静的に生成されたサイトのリストを変更するには:
-
Next.jsアプリケーションのルートディレクトリのsrc\lib\sitemap-fetcher\plugins\graphql-sitemap-service.tsファイルのsitesパラメータに特定のサイト名のリストを提供します。例えば:
'foo', 'bar'
!重要MultisiteGraphQLSitemapServiceオプションに渡されたすべてのサイトがSitecoreインスタンス上にあることを確認してください。
手動で引き継がれたサイトやSITECORE_SITE_NAMEから継承されたサイト(JSS 21.6.0以降の場合)やJSS_APP_NAME JSSバージョンからの環境変数がなければ、すべてのサイトで静的生成が失敗します。
詳細は、マルチサイトアドオンとともにJSS Next.jsアプリでSiteResolverがどのようにサイトリストを生成する かをご覧ください。
すべてのサイトのJSSサイト設定をオーバーライドします
Next.jsマルチサイトアドオンは、/scripts/config/plugins/multisite.tsファイルに定義された提供されたJSS configプラグインでビルド時にJSS設定sitesを設定します。
デフォルトでは、マルチサイト対応アプリケーションはGraphQLSiteInfoServiceサービスを使ってSitecoreからサイト情報(タイプSiteInfo)を直接取得しますが、代わりにサイトのリストを提供することもできます。
サイトリストを上書きまたは設定するには:
-
SITES環境変数にサイトのリストを、SiteInfo型に合致するJSONフォーマットのオブジェクトの配列として提供します。例えば:
{"name":"foo","hostName":"foo.com","language":"en"},{"name":"bar","hostName":"bar.com","language":"en"}
この方法は少数のサイトに適しています。より広範なリストを作成する場合は、プラグインを修正して静的なJSONファイルなど別のソースからサイトを取得することもできます。