JSS Next.jsアプリ用のSitecoreコンテナー テンプレート
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecoreコンテナーを使用したNext.jsテンプレートは、開発者がJSS Next.jsアプリ用のフルスタックのSitecoreファースト開発環境をセットアップできるように作成されました。
JSS Next.jsアプリ用のSitecoreコンテナー テンプレートは、Docker、Next.js用のJSS、Sitecoreコンテンツ シリアル化で構築されています。
わかりやすくするために、このソリューションでは、ソリューション アーキテクチャのSitecore Helix規則 は実装していません。Sitecoreソリューションの構築を開始する前に、Sitecore HelixとSitecore Helixの例を確認して、モジュラー ソリューション アーキテクチャの実装に関するガイダンスを確認することをお勧めします。
テンプレートには次のものが含まれます。
-
Next.jsレンダリングホストを備えたSitecore XP0トポロジのdocker-compose環境。
手記同梱されているdocker-compose.ymlは、SitecoreコンテナサポートパッケージのストックXP0環境です。このソリューションのすべての変更/追加は、docker-compose.override.ymlに含まれています。
-
JSS Next.jsアプリケーションを初期化し、アプリの設定をSitecoreインスタンスにデプロイするスクリプト。
-
Sitecoreコンテンツのシリアル化設定。
-
構成とコードをSitecore Content ManagementロールにデプロイするためのMSBuildプロジェクト。詳細については、プロジェクトを作成した後、ディレクトリsrc\platform内のファイルを調べてください。
Sitecoreは、テンプレート出力をそのままサポートします。ソリューションを変更または修正すると、そのソリューションはカスタム実装となり、Sitecoreのサポート範囲で定義された制限が適用されます。
初期化スクリプト
Next.jsプロジェクト用のSitecoreコンテナー テンプレートを使用して作成されたソリューションには、ソリューションの設定を簡略化するPowerShellスクリプトが含まれています。スクリプトは、プロジェクトのルートディレクトリにある .\init.ps1ファイルで定義されています。スクリプトは、プロジェクト ソリューションを作成する手順の一部としてPowerShellで実行します。
PowerShellの \.init.ps1は、次のタスクを実行します。
-
プロジェクトのホスト名のhostsファイルエントリを生成します(例: myproject.localhost)。
-
プロジェクトのホスト名 *.myproject.localhostに対して有効または信頼できるプライベート署名付きワイルドカード証明書を作成します。
-
-InitEnvスイッチを使用してスクリプトを実行すると、Sitecoreインスタンスに必要な環境変数の値が.envファイルに入力されます。
ローカル環境では、Sitecoreインスタンスはプライベート署名付き証明書を使用してインストールされます。 .\init.ps1は、mkcertユーティリティを使用して証明書を生成します。Node.jsは、ルートCAが不明であるため、これらの証明書を拒否します。
mkcert with Node.jsを初めて使用する場合は、HTTPSエラーを防ぐためにNODE_EXTRA_CA_CERTS環境変数を手動で設定する必要があります。
.\init.ps1スクリプトでは、ユーザー環境変数またはシステム環境変数でNODE_EXTRA_CA_CERTS環境変数を設定する方法について説明します。
To avoid HTTPS errors, set the NODE_EXTRA_CA_CERTS environment variable using the following command:
setx NODE_EXTRA_CA_CERTS C:\Users\<username>\AppData\Local\mkcert\rootCA.pem
You will need to restart your terminal or VS Code for it to take effect.
サンプル アプリケーションでは、開発者が初期化された環境変数を共有できるように、ソース管理から .envファイルを除外しません。
.envファイルをソース管理に追加すると、他の開発者はinit.ps1スクリプトを実行するだけで、証明書とhostsファイル エントリを準備できます。
Sitecoreソリューションやそのデータが機密性の高い場合は、.envファイルをソース管理から除外し、内部の情報を一元的に構成する他の手段を提供することをお勧めします。