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

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

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

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

注記

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

アーキテクチャの概要

ASP.NET および Sitecore MVC インフラストラクチャは拡張可能で、カスタム JavaScript レンダラー プラグインの使用が可能です。

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

Node.js レンダリング エンジンを使用したサーバーサイド レンダリングの要求/応答フロー

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

ページ レベル アイテムのプレゼンテーションの詳細

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

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

Node.js レンダリング エンジンのメリットとデメリット

メリット

  • 簡単に設定できます。Sitecore サーバー上に node.js をインストールして、PATH にノード実行ファイルを追加します。

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

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

デメリット

  • node.js 起動、プロファイリング、デバッグのオプションに制限があります。

  • プーリング/クラスタリングの制御に制限があります。

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

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

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

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、