ローカル開発設定

AEM ユニバーサルエディターを使用して React アプリのコンテンツをローカル開発する編集環境を設定する方法について説明します。

前提条件

このチュートリアルに従うには、以下が必要です。

  • HTMLとJavaScriptの基本的なスキル。

  • 以下のツールをローカルにインストールする必要があります。

  • 次をダウンロードしてインストールします。

    • 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への各リクエストを認証します。

    WKND Teams - パッケージ

React アプリ

WKND Teams React アプリを設定するには、次の手順に従います。

  1. basic-tutorial ソリューションブランチから WKND Teams React アプリを複製します。

    code language-bash
    $ git clone -b solution/basic-tutorial git@github.com:adobe/aem-guides-wknd-graphql.git
    
  2. basic-tutorial ディレクトリに移動し、コードエディターで開きます。

    code language-bash
    $ cd aem-guides-wknd-graphql/basic-tutorial
    $ code .
    
  3. 依存関係をインストールし、React アプリを起動します。

    code language-bash
    $ npm install
    $ npm start
    
  4. ブラウザーで WKND チームの React アプリ(http://localhost:3000)を開きます。 チームメンバーとその詳細のリストが表示されます。 React アプリのコンテンツは、GraphQL API (/graphql/execute.json/my-project/all-teams)を使用してローカル AEM SDK によって提供されます。これは、ブラウザーの「ネットワーク」タブを使用して確認できます。

    WKND チーム - React アプリ

ユニバーサルエディターサービス

ローカル ユニバーサルエディターサービスを設定するには、次の手順に従います。

  1. ソフトウェア配布ポータルから最新バージョンのユニバーサルエディターサービスをダウンロードします。

    ソフトウェア配布 – ユニバーサルエディターサービス

  2. ダウンロードした 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
    
  3. 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
    
  4. ローカルのユニバーサルエディターサービスを開始します。

    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 とユニバーサルエディターサービスを提供します。

  1. local-ssl-proxy パッケージをグローバルにインストールします。

    code language-bash
    $ npm install -g local-ssl-proxy
    
  2. 次のサービス用のローカル 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 を有効にするには、次の手順に従います。

  1. ターミナルで Ctrl + C を押して、React を停止します。

  2. package.json ファイルを更新して、start スクリプトに HTTPS=true 環境変数を含めます。

    code language-json
    "scripts": {
        "start": "HTTPS=true react-scripts start",
        ...
    }
    
  3. AEM SDK の HTTPS プロトコルとローカル SSL HTTP プロキシポートを使用するように、.env.development ファイルの REACT_APP_HOST_URI を更新します。

    code language-bash
    REACT_APP_HOST_URI=https://localhost:8443
    ...
    
  4. 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}`
        })
    );
    };
    
  5. React アプリを起動します。

    code language-bash
    $ npm start
    

設定の確認

上記の手順でローカル開発環境を設定した後、設定を確かめてみましょう。

ローカル検証

次のサービスが HTTPS 経由でローカルに実行されていることを確認します。自己署名証明書については、ブラウザーでセキュリティ警告を受け入れる必要がある場合があります。

  1. https://localhost:3000 の WKND チームの React アプリ
  2. https://localhost:8443 のAEM SDK
  3. https://localhost:8001 のユニバーサルエディターサービス

ユニバーサルエディターでの WKND Teams React アプリの読み込み

設定を確認するために、ユニバーサルエディターで WKND チームの React アプリを読み込みましょう。

  1. ブラウザーでユニバーサルエディターhttps://experience.adobe.com/#/aem/editorを開きます。 プロンプトが表示されたら、Adobe IDを使用してログインします。

  2. ユニバーサルエディターのサイト URL 入力フィールドに、WKND Teams React アプリの URL を入力して、「Open」をクリックします。

    ユニバーサルエディター – サイト URL

  3. WKND チームの React アプリがユニバーサルエディターに読み込まれます ただし、まだコンテンツを編集することはできません。 ユニバーサルエディターを使用してコンテンツ編集を有効にするには、React アプリを実装する必要があります。

    ユニバーサルエディター – WKND Teams React アプリ

次の手順

React アプリを実装してコンテンツを編集する方法を説明します。

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69