マルチサイトアプリケーションでのサイトの手動構成

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

デフォルトでは、Next.js MultisiteアドオンはSitecoreインスタンスから直接サイト情報のリストを取得し、すべてのサイトはビルド時に静的に生成されます。

状況によっては、静的に生成されるサイトの数を減らしたり、マルチサイトJSS Next.jsアプリケーションに含めるサイトを指定したりすることがあります。

両方の手順を同時に適用できます。

静的生成のためのサイトのサブセットの構成

すべての サイトは、ビルド時にデフォルトで静的に生成されますが、サイトのサブセットのみを静的に生成するようにMultisiteアドオンを構成できます。

静的に生成されたサイトのリストを変更するには:

  • Next.jsアプリケーションのルートディレクトリにあるsrc\lib\sitemap-fetcher\plugins\graphql-sitemap-service.tsファイルのsitesパラメータに、特定のサイト名のリストを指定します。例えば:

    ['foo', 'bar']
大事な

MultisiteGraphQLSitemapServiceオプションに渡されたすべてのサイトがSitecoreインスタンス上にあることを確認します。

サイト (手動で渡されるか、JSS_APP_NAME環境変数から継承される) にコンテンツ ツリーがない場合、静的生成はすべてのサイトで失敗します。

詳細については 、SiteResolverがMultisiteアドオンを使用してJSS Next.jsアプリでサイト リストを生成する方法をご覧ください

すべてのサイトのJSSサイト構成を上書きする

Next.js Multisiteアドオンは、/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ファイルなどの別のソースからサイトを取得できます。

この記事を改善するための提案がある場合は、 お知らせください!