統合モードでのサーバーサイドレンダリングJSSアプリ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
統合モードでJSSアプリを実行する際、Node.jsサーバーはクライアントに提供する前にJSSアプリケーションをレンダリングします。Node.jsサーバーはSitecoreサーバー上で動作するレンダリングエンジンとして機能し、JSSアプリケーションのレンダリングサービスを提供します。
SSRが統合モードで動作するには、JSSアプリケーションがrenderView関数をエクスポートし、ライブラリの公開方法を設定する必要がありますwebpack 。
renderView関数
Node.jsレンダリングエンジンは、アプリが以下の署名を持つグローバル関数renderViewをエクスポートすることを期待しています。
renderView(callback, routePath, data, viewBag) {}
ルートを提供している際、レンダリングエンジンはrenderView関数を呼び出します。
この関数をコードで宣言する方法の例として、JSS React and Vue.js sample appsのserver/server.jsファイル、またはJSS Angularサンプルアプリのserver.bundle.tsファイルをご参照ください。
Webpackライブラリのターゲットタイプ
JSSアプリのサーバーバンドルは、アプリケーションのサーバー側レンダリングのためのエントリーポイントを提供しなければなりません。そのために、webpackバンドルはoutput.libraryTargetを 'this'に設定しなければなりません。この設定により、JSSアプリのサーバーバンドルがオブジェクトとして公開され、レンダリングエンジンがサーバーバンドルからエクスポートされたrenderView関数を呼び出すことができます。例えば:
{ output: { libraryTarget: 'this' //required for use with JSS rendering engine } }