ローカル開発設定
AEM ユニバーサルエディターを使用して React アプリのコンテンツをローカル開発する編集環境を設定する方法について説明します。
前提条件
このチュートリアルに従うには、以下が必要です。
-
HTMLとJavaScriptの基本的なスキル。
-
以下のツールをローカルにインストールする必要があります。
- Node.js
- Git
- IDE またはコードエディター(Visual Studio Code など)
-
次をダウンロードしてインストールします。
- AEM as a Cloud Service SDK:開発目的でAEM オーサーおよびPublishをローカルに実行するために使用されるクイックスタート Jar が含まれています。
- ユニバーサルエディターサービス:ユニバーサルエディターサービスのローカルコピーです。機能のサブセットが含まれており、ソフトウェア配布ポータルからダウンロードできます。
- local-ssl-proxy:ローカル開発用に自己署名証明書を使用する、シンプルなローカル SSL HTTP プロキシです。 AEM ユニバーサルエディターで React アプリをエディターに読み込むには、そのアプリの HTTPS URL が必要です。
ローカル設定
ローカル開発環境をセットアップするには、次の手順に従います。
AEM SDK
WKND Teams React アプリのコンテンツを提供するには、ローカルのAEM SDK に次のパッケージをインストールします。
-
WKND Teams - コンテンツパッケージ:コンテンツフラグメントモデル、コンテンツフラグメントおよび永続GraphQL クエリが含まれます。
-
WKND Teams – 設定パッケージ:クロスオリジンリソース共有(CORS)とトークン認証ハンドラーの設定が含まれます。 CORS は、AEM以外の web プロパティがAEMのGraphQL API に対してブラウザーベースのクライアントサイド呼び出しを行うのを容易にし、トークン認証ハンドラーを使用してAEMへの各リクエストを認証します。
React アプリ
WKND Teams React アプリを設定するには、次の手順に従います。
-
basic-tutorial
ソリューションブランチから WKND Teams React アプリを複製します。code language-bash $ git clone -b solution/basic-tutorial git@github.com:adobe/aem-guides-wknd-graphql.git
-
basic-tutorial
ディレクトリに移動し、コードエディターで開きます。code language-bash $ cd aem-guides-wknd-graphql/basic-tutorial $ code .
-
依存関係をインストールし、React アプリを起動します。
code language-bash $ npm install $ npm start
-
ブラウザーで WKND チームの React アプリ(http://localhost:3000)を開きます。 チームメンバーとその詳細のリストが表示されます。 React アプリのコンテンツは、GraphQL API (
/graphql/execute.json/my-project/all-teams
)を使用してローカル AEM SDK によって提供されます。これは、ブラウザーの「ネットワーク」タブを使用して確認できます。
ユニバーサルエディターサービス
ローカル ユニバーサルエディターサービスを設定するには、次の手順に従います。
-
ソフトウェア配布ポータルから最新バージョンのユニバーサルエディターサービスをダウンロードします。
-
ダウンロードした zip ファイルを解凍し、
universal-editor-service.cjs
ファイルをuniversal-editor-service
という名前の新しいディレクトリにコピーします。code language-bash $ unzip universal-editor-service-vproduction-<version>.zip $ mkdir universal-editor-service $ cp universal-editor-service.cjs universal-editor-service
-
universal-editor-service
ディレクトリ.env
ファイルを作成し、次の環境変数を追加します。code language-bash # The port on which the Universal Editor service runs EXPRESS_PORT=8000 # Disable SSL verification NODE_TLS_REJECT_UNAUTHORIZED=0
-
ローカルのユニバーサルエディターサービスを開始します。
code language-bash $ cd universal-editor-service $ node universal-editor-service.cjs
上記のコマンドを実行すると、ポート 8000
でユニバーサルエディターサービスが開始し、次の出力が表示されます。
Either no private key or certificate was set. Starting as HTTP server
Universal Editor Service listening on port 8000 as HTTP Server
ローカル SSL HTTP プロキシ
AEM ユニバーサルエディターでは、React アプリを HTTPS で提供する必要があります。 ローカル開発に自己署名証明書を使用するローカル SSL HTTP プロキシを設定しましょう。
次の手順に従って、ローカル SSL HTTP プロキシを設定し、HTTPS でAEM SDK とユニバーサルエディターサービスを提供します。
-
local-ssl-proxy
パッケージをグローバルにインストールします。code language-bash $ npm install -g local-ssl-proxy
-
次のサービス用のローカル SSL HTTP プロキシの 2 つのインスタンスを開始します。
- ポート
8443
のAEM SDK ローカル SSL HTTP プロキシ。 - ポート
8001
のユニバーサル エディターサービス ローカル SSL HTTP プロキシ。
code language-bash # AEM SDK local SSL HTTP proxy on port 8443 $ local-ssl-proxy --source 8443 --target 4502 # Universal Editor service local SSL HTTP proxy on port 8001 $ local-ssl-proxy --source 8001 --target 8000
- ポート
HTTPS を使用するように React アプリを更新する
WKND Teams React アプリに対して HTTPS を有効にするには、次の手順に従います。
-
ターミナルで
Ctrl + C
を押して、React を停止します。 -
package.json
ファイルを更新して、start
スクリプトにHTTPS=true
環境変数を含めます。code language-json "scripts": { "start": "HTTPS=true react-scripts start", ... }
-
AEM SDK の HTTPS プロトコルとローカル SSL HTTP プロキシポートを使用するように、
.env.development
ファイルのREACT_APP_HOST_URI
を更新します。code language-bash REACT_APP_HOST_URI=https://localhost:8443 ...
-
secure: false
のオプションを使用して、リラックスした SSL 設定を使用するように../src/proxy/setupProxy.auth.basic.js
ファイルを更新します。code language-javascript ... module.exports = function(app) { app.use( ['/content', '/graphql'], createProxyMiddleware({ target: REACT_APP_HOST_URI, changeOrigin: true, secure: false, // Ignore SSL certificate errors // pass in credentials when developing against an Author environment auth: `${REACT_APP_BASIC_AUTH_USER}:${REACT_APP_BASIC_AUTH_PASS}` }) ); };
-
React アプリを起動します。
code language-bash $ npm start
設定の確認
上記の手順でローカル開発環境を設定した後、設定を確かめてみましょう。
ローカル検証
次のサービスが HTTPS 経由でローカルに実行されていることを確認します。自己署名証明書については、ブラウザーでセキュリティ警告を受け入れる必要がある場合があります。
- https://localhost:3000 の WKND チームの React アプリ
- https://localhost:8443 のAEM SDK
- https://localhost:8001 のユニバーサルエディターサービス
ユニバーサルエディターでの WKND Teams React アプリの読み込み
設定を確認するために、ユニバーサルエディターで WKND チームの React アプリを読み込みましょう。
-
ブラウザーでユニバーサルエディターhttps://experience.adobe.com/#/aem/editorを開きます。 プロンプトが表示されたら、Adobe IDを使用してログインします。
-
ユニバーサルエディターのサイト URL 入力フィールドに、WKND Teams React アプリの URL を入力して、「
Open
」をクリックします。 -
WKND チームの React アプリがユニバーサルエディターに読み込まれます ただし、まだコンテンツを編集することはできません。 ユニバーサルエディターを使用してコンテンツ編集を有効にするには、React アプリを実装する必要があります。
次の手順
React アプリを実装してコンテンツを編集する方法を説明します。