Node.jsレンダリングエンジン

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

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

Node.jsレンダリング エンジンは、Sitecore Content Management (CM) サーバーで実行されているnode.jsインスタンスを使用して、JavaScriptレンダリングSDK (JSS) で構築されたアプリケーションをレンダリングします。本番環境で 統合モード を使用する場合、node.jsインスタンスはコンテンツ配信 (CD) サーバー上で実行する必要があります。

メモ

Node.jsレンダリング エンジンは、Next.jsまたはASP.NETレンダリングSDKアプリケーションのJSSでは使用できません。

アーキテクチャの概要

ASP.NETとSitecore MVCインフラストラクチャは拡張可能で、カスタムJavaScriptレンダラーをプラグインできます。

ブラウザーがページ要求を送信すると、JavaScriptレンダラーはJavaScriptバンドルとLayout Service JSON形式のデータをASP.NET NodeServicesを介してnode.jsに渡します。Node.jsは、HTML文字列を含む応答を返します。

Server-side rendering request-response flow with the Node.js rendering engine

ルートに対応するページレベルのアイテムには、従来のプレゼンテーションの詳細が設定されていることが想定されます。

Presentation details on page-level items

/sitecore/templates/Foundation/JavaScript Services/JSS Layoutテンプレートに基づくレイアウトを使用すると、前の画像では、JSSアプリケーション用に構成されたレンダリングエンジンを使用してヘッドレスサービスによるレンダリングJSS Appトリガーされます。この場合、レイアウトはインジケーターとしてのみ機能し、空のRazorビューを指します。WelcomeRenderingは、/sitecore/layout/renderingsで定義されているタイプReact JavaScript Renderingの実際のSitecoreレンダリング アイテムです。

JSSアプリケーションは、サーバー・バンドルで、レスポンスを消費するrenderView関数をエクスポートして呼び出し、アプリケーションの静的レンダリングを生成します。この関数に渡されるデータは、JSON形式を保持するために二重にエンコードされ、使用する前にJSON.parse() で解析する必要があります。

Node.jsレンダリングエンジンの長所と短所

Pros

  • セットアップは簡単です。Sitecoreサーバーにnode.jsをインストールし、ノードの実行可能ファイルをPATHに追加します。

  • node.jsインスタンスを手動で管理する必要はありません。

  • 組み込みのプーリング。

Cons

  • node.jsスタートアップ、プロファイリング、デバッグのカスタマイズオプションは限られています。

  • プーリング/クラスタリングの制御は制限されています。

  • Sitecoreサーバーにnode.jsをインストールする必要があります。

  • JSSアプリのアーティファクトをSitecoreサーバーにデプロイする必要があります。

  • Next.jsまたはASP.NET Coreでは使用できません

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