SPA Editor-project create-project
Leer hoe u een Adobe Experience Manager (AEM) Maven-project gebruikt als beginpunt voor een Angular-toepassing die is geïntegreerd met de AEM SPA Editor.
Doelstelling
- Begrijp de structuur van een nieuw AEM SPA van de Redacteur project dat van een Maven archetype wordt gebouwd.
- Implementeer het startproject naar een lokale instantie van AEM.
Wat u gaat maken
In dit hoofdstuk, wordt een nieuw AEM project opgesteld, dat op wordt gebaseerd AEM Project Archetype. Het AEM project wordt opgestart met een heel eenvoudig startpunt voor de SPA Angular. Het in dit hoofdstuk gebruikte project zal als basis dienen voor de tenuitvoerlegging van de WKND-SPA en is in toekomstige hoofdstukken gebaseerd.
een klassiek bericht van de Wereld van Hello.
Vereisten
Herzie het vereiste tooling en de instructies voor vestiging a lokale ontwikkelomgeving. Zorg ervoor dat een vers geval van Adobe Experience Manager, die op auteur wijze is begonnen, plaatselijk loopt.
Het project ophalen
Er zijn verscheidene opties om een Maven Multi-module project voor AEM tot stand te brengen. Dit leerprogramma gebruikte het recentste AEM Archetype van het Projectals basis voor de leerlingencode. De projectcode is gewijzigd om veelvoudige versies van AEM te steunen. Gelieve te herzien de nota over achterwaartse verenigbaarheid.
aemVersion
van het archetype.-
Download het beginpunt voor deze zelfstudie via Git:
code language-shell $ git clone git@github.com:adobe/aem-guides-wknd-spa.git $ cd aem-guides-wknd-spa $ git checkout Angular/create-project-start
-
De volgende map en bestandsstructuur vertegenwoordigen het AEM Project dat is gegenereerd door het Maven-archetype op het lokale bestandssysteem:
code language-plain |--- aem-guides-wknd-spa |--- all/ |--- core/ |--- dispatcher/ |--- ui.apps/ |--- ui.apps.structure/ |--- ui.content/ |--- ui.frontend / |--- it.tests/ |--- pom.xml |--- README.md |--- .gitignore |--- archetype.properties
-
De volgende eigenschappen werden gebruikt toen het produceren van het AEM project van AEM archetype van het Project:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 Eigenschap Waarde aemVersion wolk appTitle WKND SPA Angular appId wknd-angular groupId com.adobe.aem.guides frontendModule angular package com.adobe.aem.guides.wknd.spa.angular includeExamples n note note NOTE Let op de eigenschap frontendModule=angular
. Dit vertelt het AEM Archetype van het Project om het project met een starter basis van de code van de Angularte laarzen die met de AEM SPA Redacteur moet worden gebruikt.
Het project bouwen
Daarna, compileert, bouwt, en stelt de projectcode aan een lokale instantie van AEM op gebruikend Maven.
-
Verzeker een geval van AEM plaatselijk op haven 4502 loopt.
-
Van de terminal van de bevellijn verifieert dat Maven geïnstalleerd is:
code language-shell $ mvn --version Apache Maven 3.6.2 Maven home: /Library/apache-maven-3.6.2 Java version: 11.0.4, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-11.0.4.jdk/Contents/Home
-
Voer de onderstaande opdracht Maven uit vanuit de map
aem-guides-wknd-spa
om het project te bouwen en te implementeren in AEM:code language-shell $ mvn -PautoInstallSinglePackage clean install
Als het gebruiken van AEM 6.x:
code language-shell $ mvn clean install -PautoInstallSinglePackage -Pclassic
De veelvoudige modules van het project zouden moeten worden opgesteld en aan AEM worden opgesteld.
code language-plain [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for wknd-spa-angular 1.0.0-SNAPSHOT: [INFO] [INFO] wknd-spa-angular ................................... SUCCESS [ 0.473 s] [INFO] WKND SPA Angular - Core ............................ SUCCESS [ 54.866 s] [INFO] wknd-spa-angular.ui.frontend - UI Frontend ......... SUCCESS [02:10 min] [INFO] WKND SPA Angular - Repository Structure Package .... SUCCESS [ 0.694 s] [INFO] WKND SPA Angular - UI apps ......................... SUCCESS [ 6.351 s] [INFO] WKND SPA Angular - UI content ...................... SUCCESS [ 2.885 s] [INFO] WKND SPA Angular - All ............................. SUCCESS [ 1.736 s] [INFO] WKND SPA Angular - Integration Tests Bundles ....... SUCCESS [ 2.563 s] [INFO] WKND SPA Angular - Integration Tests Launcher ...... SUCCESS [ 1.846 s] [INFO] WKND SPA Angular - Dispatcher ...................... SUCCESS [ 0.270 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
Het Gemaakt profiel autoInstallSinglePackage compileert de individuele modules van het project en stelt één enkel pakket aan de AEM instantie op. Door gebrek wordt dit pakket opgesteld aan een AEM instantie die plaatselijk op haven 4502 loopt en met de geloofsbrieven van admin:admin.
-
Navigeer aan Package Manager op uw lokale AEM instantie: http://localhost:4502/crx/packmgr/index.jsp.
-
Er moeten drie pakketten worden weergegeven voor
wknd-spa-angular.all
,wknd-spa-angular.ui.apps
enwknd-spa-angular.ui.content
.Alle aangepaste code die nodig is voor het project, wordt in deze pakketten gebundeld en op de AEM-runtime geïnstalleerd.
-
Er moeten ook verschillende pakketten worden weergegeven voor
spa.project.core
encore.wcm.components
. Dit zijn gebiedsdelen automatisch inbegrepen door archetype. Meer informatie over AEM de Componenten van de Kern kan hierworden gevonden.
Inhoud auteur
Open vervolgens de SPA die is gegenereerd door het archetype en werk een deel van de inhoud bij.
-
Navigeer aan de Sites console: http://localhost:4502/sites.html/content.
De WKND-SPA bevat een basissitestructuur met een land, taal en homepage. Deze hiërarchie is gebaseerd op de standaardwaarden van het archetype voor
language_country
enisSingleCountryWebsite
. Deze waarden kunnen worden beschreven door de beschikbare eigenschappenbij te werken wanneer het produceren van een project. -
Open de pagina us > en > WKND SPA Angular Home Page door de pagina te selecteren en op de knop Edit op de menubalk te klikken:
-
Er is al een component Text toegevoegd aan de pagina. U kunt deze component op dezelfde manier bewerken als elke andere component in AEM.
-
Voeg een extra Text -component aan de pagina toe.
U ziet dat de ontwerpervaring vergelijkbaar is met die van een traditionele AEM Sites-pagina. Momenteel is een beperkt aantal componenten beschikbaar die kunnen worden gebruikt. Tijdens de zelfstudie wordt meer toegevoegd.
Inspect de toepassing Eén pagina
Controleer vervolgens of dit een toepassing voor één pagina is met gebruik van de ontwikkelaars van uw browser.
-
Klik in Page Editor op het menu Page Information > View as Published :
Dit zal een nieuw lusje met de vraagparameter
?wcmmode=disabled
openen die effectief de AEM redacteur uitzet: http://localhost:4502/content/wknd-spa-angular/us/en/home.html?wcmmode=disabled -
Bekijk de bron van de pagina. U ziet dat de tekstinhoud Hello World of een van de andere inhoud niet is gevonden. In plaats daarvan ziet u HTML als volgt:
code language-html ... <body> <noscript>You need to enable JavaScript to run this app.</noscript> <div id="spa-root"></div> <script type="text/javascript" src="/etc.clientlibs/wknd-spa-angular/clientlibs/clientlib-angular.min.js"></script> ... </body> ...
clientlib-angular.min.js
is de Angular SPA die op de pagina wordt geladen en die verantwoordelijk is voor het renderen van de inhoud.waar komt de inhoud uit?
-
Terugkeer aan het lusje: http://localhost:4502/content/wknd-spa-angular/us/en/home.html?wcmmode=disabled
-
Open de de ontwikkelaarshulpmiddelen van browser en inspecteer het netwerkverkeer van de pagina tijdens verfrissen zich. Bekijk de XHR verzoeken:
Er zou een verzoek aan http://localhost:4502/content/wknd-spa-angular/us/en.model.jsonmoeten zijn. Dit bevat alle inhoud, geformatteerd in JSON, die de SPA zal drijven.
-
In een nieuw lusje, open http://localhost:4502/content/wknd-spa-angular/us/en.model.json
De aanvraag
en.model.json
vertegenwoordigt het inhoudsmodel waarop de toepassing wordt gebaseerd. Inspect de JSON-uitvoer en u moet het fragment kunnen vinden dat de Text -component(en) vertegenwoordigt.code language-json ... ":items": { "text": { "text": "<p>Hello World! Updated content!</p>\r\n", "richText": true, ":type": "wknd-spa-angular/components/text" }, "text_98796435": { "text": "<p>A new text component.</p>\r\n", "richText": true, ":type": "wknd-spa-angular/components/text" }, ...
In het volgende hoofdstuk zullen wij inspecteren hoe de inhoud JSON van AEM Componenten aan SPA Componenten wordt in kaart gebracht om de basis van de AEM SPA Ervaring te vormen.
note note NOTE Het kan handig zijn een browserextensie te installeren om de JSON-uitvoer automatisch op te maken.
Gefeliciteerd! congratulations
Gefeliciteerd, u hebt zojuist uw eerste AEM SPA Editor Project gemaakt!
Het is nu heel eenvoudig, maar in de volgende hoofdstukken wordt meer functionaliteit toegevoegd.
Volgende stappen next-steps
integreer de SPA- leer hoe de SPA broncode met het AEM Project wordt geïntegreerd en de middelen begrijpt beschikbaar om de SPA snel te ontwikkelen.