---
title: "統合モードでのサーバーサイドレンダリングJSSアプリ"
slug: "server-side-rendering-jss-apps-in-integrated-mode"
abstract: "SitecoreホストのNode.jsレンダリングエンジンを使ってJSSアプリケーションを実行"
---
# 統合モードでのサーバーサイドレンダリングJSSアプリ

[統合モードで](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/start-a-jss-app-in-integrated-mode.html "Start a JSS app in integrated mode")JSSアプリを実行する際、Node.jsサーバーはクライアントに提供する前にJSSアプリケーションをレンダリングします。Node.jsサーバーはSitecoreサーバー上で動作する[レンダリングエンジン](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/rendering-engines-and-jss.html "Rendering engines and JSS")として機能し、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
 }
}