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

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

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

Node.jsレンダリングエンジンは、Sitecore Content Management (CM)サーバー上で動作するnode.jsインスタンスを使い、JavaScriptレンダリングSDK(JSS)で構築したアプリケーションをレンダリングします。本番環境で 統合モード を使用する場合、node.jsインスタンスはContent Delivery(CD)サーバー上で動作しなければなりません。

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

建築の概要

ASP.NETおよびSitecore MVCインフラは拡張可能で、カスタムJavaScriptレンダラーを接続することも可能です。

ブラウザがページリクエストを送信すると、JavaScriptレンダラーはJavaScript束とレイアウトサービスのJSON形式データをASPを通じてnode.jsに渡します.NET NodeServicesNode.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 AppJSSアプリケーション用に設定されたレンダリングエンジンを用いてHeadless Servicesによるレンダリングをトリガーします。この場合、レイアウトはインジケーターとしてのみ機能し、空の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の起動、プロファイリング、デバッグなどのカスタマイズオプションは限られています。
  • プーリングやクラスタリングのコントロールは限られています。
  • node.jsはSitecoreサーバーにインストールする必要があります。
  • JSSアプリのアーティファクトをSitecoreサーバーにデプロイする必要があります。
  • Next.jsやASP.NET Coreでは使用できません
この記事を改善するための提案がある場合は、 お知らせください!