統合モードでのサーバーサイドレンダリングJSSアプリ

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

このページの翻訳は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およびVue.jsサンプル アプリの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
  }
}
この記事を改善するための提案がある場合は、 お知らせください!