JSS Next.jsアプリでのビルド時の静的パスのカスタマイズ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
多くのページ、製品、または記事を含む大規模なWebサイトでは、すべてのページの静的生成に時間がかかる場合があります。静的に生成されたアプリケーションのビルド時間を短縮するには、一部の種類のページ/アイテムを静的生成から除外します。
これを実現するには、SitecoreSitemapFetcherクラス内で初期化および使用されるGraphQLSitemapService/MultisiteGraphQLSitemapServiceインスタンスを変更します。
パフォーマンス上の理由から、手動で追加または除外できるパスの合計数はEdgeによって制限されます。この制限を超えるクエリは、GraphQLエラーを返します。
JSS Next.jsアプリでビルド時の静的パスをカスタマイズするには:
-
レンダリング アプリケーション フォルダのsrc/lib/sitemap-fetcher/plugins/graphql-sitemap-service.tsファイルで、GraphqlSitemapServicePluginコンストラクタを次のように変更します。
メモNext.js Multisiteアドオンを使用する場合は、siteName: config.jssAppNameではなく、サイト リゾルバsites: ...new Set(siteResolver.sites.map((site: SiteInfo) => site.name))からサイトのリストを提供します。
-
パスを含めるには、GraphQLSitemapServiceインスタンスのincludedPathsパラメーターへのパスの配列を指定します。includedPathsを指定すると、クエリは指定されたパターンに一致するパスのみを返します。たとえば、プレフィックスが /products/が付いたすべてのパスを含めるには、次のようにします。
-
パスを除外するには、GraphQLSitemapServiceインスタンスのexcludedPathsパラメーターへのパスの配列を指定します。たとえば、古い電話に関するパスを除き、/products/で始まるパスを含めるには、次のようにします。
-
一部のパスを除くすべてのパスをフェッチするには、excludedPathsパラメーターのみを使用できます。たとえば、製品のすべてのパスを除外するには、次のようにします。
-