Lokale Entwicklungseinrichtung
Erfahren Sie, wie Sie eine lokale Entwicklungsumgebung einrichten, um den Inhalt einer React-App mit dem AEM Universal Editor zu bearbeiten.
Voraussetzungen
Für dieses Tutorial sind folgende Dinge erforderlich:
-
Grundlegende HTML- und JavaScript-Kenntnisse.
-
Die folgenden Tools müssen lokal installiert sein:
- node.js
- Git
- Ein IDE- oder Code-Editor, z. B. Visual Studio Code
-
Laden Sie Folgendes herunter und installieren Sie es:
- AEM as a Cloud Service SDK: Enthält das Schnellstart-Jar, das zum lokalen Ausführen AEM Author und Publish für Entwicklungszwecke verwendet wird.
- Universal Editor-Dienst: Eine lokale Kopie des Universal Editor-Dienstes, der eine Untergruppe von Funktionen aufweist und vom Software Distribution-Portal heruntergeladen werden kann.
- local-ssl-proxy: Ein einfacher lokaler SSL-HTTP-Proxy, der ein selbstsigniertes Zertifikat für die lokale Entwicklung verwendet. Der universelle Editor AEM benötigt die HTTPS-URL der React-App, um sie im Editor zu laden.
Lokales Setup
Gehen Sie wie folgt vor, um die lokale Entwicklungsumgebung einzurichten:
AEM SDK
Um die Inhalte für die WKND Teams React-App bereitzustellen, installieren Sie die folgenden Pakete im lokalen AEM SDK.
-
WKND-Teams - Inhaltspaket: Enthält die Inhaltsfragmentmodelle, Inhaltsfragmente und persistenten GraphQL-Abfragen.
-
WKND-Teams - Konfigurationspaket: Enthält die Konfigurationen "Cross-Origin Resource Sharing"(CORS) und "Token Authentication Handler". Das CORS ermöglicht es Nicht-AEM-Webeigenschaften, browserbasierte clientseitige Aufrufe an AEM GraphQL-APIs durchzuführen, und der Token-Authentifizierungs-Handler wird verwendet, um jede Anfrage an AEM zu authentifizieren.
React-App
Gehen Sie wie folgt vor, um die WKND Teams React-App einzurichten:
-
Klonen Sie die WKND Teams React App aus der Lösungsverzweigung
basic-tutorial
.code language-bash $ git clone -b solution/basic-tutorial git@github.com:adobe/aem-guides-wknd-graphql.git
-
Navigieren Sie zum Ordner "
basic-tutorial
"und öffnen Sie es in Ihrem Code-Editor.code language-bash $ cd aem-guides-wknd-graphql/basic-tutorial $ code .
-
Installieren Sie die Abhängigkeiten und starten Sie die React-App.
code language-bash $ npm install $ npm start
-
Öffnen Sie die React-App "WKND-Teams"in Ihrem Browser unter http://localhost:3000. Es wird eine Liste der Teammitglieder und ihre Details angezeigt. Der Inhalt für die React-App wird vom lokalen AEM SDK mithilfe von GraphQL-APIs (
/graphql/execute.json/my-project/all-teams
) bereitgestellt, die Sie auf der Registerkarte "Netzwerk"des Browsers überprüfen können.
Universal Editor Service
Gehen Sie wie folgt vor, um den Dienst local Universal Editor einzurichten:
-
Laden Sie die neueste Version des Universal Editor-Dienstes vom Software Distribution-Portal herunter.
-
Extrahieren Sie die heruntergeladene ZIP-Datei und kopieren Sie die Datei "
universal-editor-service.cjs
" in ein neues Verzeichnis namens "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
-
Erstellen Sie die Datei
.env
im Verzeichnisuniversal-editor-service
und fügen Sie die folgenden Umgebungsvariablen hinzu:code language-bash # The port on which the Universal Editor service runs EXPRESS_PORT=8000 # Disable SSL verification NODE_TLS_REJECT_UNAUTHORIZED=0
-
Starten Sie den lokalen Universal Editor-Dienst.
code language-bash $ cd universal-editor-service $ node universal-editor-service.cjs
Der obige Befehl startet den Universal Editor-Dienst am Port 8000
und Sie sollten die folgende Ausgabe sehen:
Either no private key or certificate was set. Starting as HTTP server
Universal Editor Service listening on port 8000 as HTTP Server
Lokaler SSL-HTTP-Proxy
Der universelle Editor AEM erfordert, dass die React-App über HTTPS bereitgestellt wird. Richten wir einen lokalen SSL-HTTP-Proxy ein, der ein selbstsigniertes Zertifikat für die lokale Entwicklung verwendet.
Gehen Sie wie folgt vor, um den lokalen SSL-HTTP-Proxy einzurichten und den AEM SDK- und Universal Editor-Dienst über HTTPS bereitzustellen:
-
Installieren Sie das Paket
local-ssl-proxy
global.code language-bash $ npm install -g local-ssl-proxy
-
Starten Sie zwei Instanzen des lokalen SSL-HTTP-Proxys für die folgenden Dienste:
- AEM SDK lokaler SSL-HTTP-Proxy auf Port
8443
. - Lokaler SSL-HTTP-Proxy des Universal Editor-Dienstes am Port
8001
.
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
- AEM SDK lokaler SSL-HTTP-Proxy auf Port
React-App für die Verwendung von HTTPS aktualisieren
Gehen Sie wie folgt vor, um HTTPS für die WKND Teams React-App zu aktivieren:
-
Halten Sie die React-Taste an, indem Sie im Terminal auf
Ctrl + C
drücken. -
Aktualisieren Sie die Datei
package.json
, um die UmgebungsvariableHTTPS=true
in das Skriptstart
aufzunehmen.code language-json "scripts": { "start": "HTTPS=true react-scripts start", ... }
-
Aktualisieren Sie die
REACT_APP_HOST_URI
in der Datei.env.development
, um das HTTPS-Protokoll und den lokalen SSL-HTTP-Proxy-Port des AEM SDK zu verwenden.code language-bash REACT_APP_HOST_URI=https://localhost:8443 ...
-
Aktualisieren Sie die
../src/proxy/setupProxy.auth.basic.js
-Datei, um entspannte SSL-Einstellungen mit dersecure: false
-Option zu verwenden.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}` }) ); };
-
Starten Sie die React-App.
code language-bash $ npm start
Überprüfen des Setups
Nachdem wir die lokale Entwicklungsumgebung mit den oben genannten Schritten eingerichtet haben, überprüfen wir die Einrichtung.
Lokale Überprüfung
Stellen Sie sicher, dass die folgenden Dienste lokal über HTTPS ausgeführt werden. Möglicherweise müssen Sie die Sicherheitswarnung im Browser für das selbstsignierte Zertifikat akzeptieren:
- WKND Teams React App auf https://localhost:3000
- AEM SDK auf https://localhost:8443
- Universal Editor-Dienst auf https://localhost:8001
WKND-Teams React-App im universellen Editor laden
Laden wir die React-App "WKND-Teams"in den Universal Editor, um die Einrichtung zu überprüfen:
-
Öffnen Sie den Universal Editor https://experience.adobe.com/#/aem/editor in Ihrem Browser. Melden Sie sich bei entsprechender Aufforderung mit Ihrem Adobe ID an.
-
Geben Sie die URL der React-App-WKND-Teams im Eingabefeld Site-URL des universellen Editors ein und klicken Sie auf
Open
. -
Die WKND-Teams-React-App wird im universellen Editor geladen, Sie können den Inhalt jedoch noch nicht bearbeiten. Sie müssen die React-App instrumentieren, um die Inhaltsbearbeitung mit dem universellen Editor zu aktivieren.
Nächster Schritt
Erfahren Sie, wie Sie die React-App instrumentieren, um den Inhalt zu bearbeiten.