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

  1. Begrijp de structuur van een nieuw AEM SPA van de Redacteur project dat van een Maven archetype wordt gebouwd.
  2. 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.

WKND SPA het Project van de Aanzet van de Angular

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.

CAUTION
Het is beste praktijken om de recentste versie van archetypete gebruiken om een nieuw project voor een implementatie in de praktijk te produceren. AEM projecten dienen gericht te zijn op één versie van AEM met behulp van de eigenschap aemVersion van het archetype.
  1. 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
    
  2. 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
    
  3. 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.

  1. Verzeker een geval van AEM plaatselijk op haven 4502 loopt.

  2. 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
    
  3. 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.

  4. Navigeer aan Package Manager op uw lokale AEM instantie: http://localhost:4502/crx/packmgr/index.jsp.

  5. Er moeten drie pakketten worden weergegeven voor wknd-spa-angular.all , wknd-spa-angular.ui.apps en wknd-spa-angular.ui.content .

    WKND SPA Pakketten

    Alle aangepaste code die nodig is voor het project, wordt in deze pakketten gebundeld en op de AEM-runtime geïnstalleerd.

  6. Er moeten ook verschillende pakketten worden weergegeven voor spa.project.core en core.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.

  1. 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 en isSingleCountryWebsite . Deze waarden kunnen worden beschreven door de beschikbare eigenschappenbij te werken wanneer het produceren van een project.

  2. 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:

    plaatsconsole

  3. Er is al een component Text toegevoegd aan de pagina. U kunt deze component op dezelfde manier bewerken als elke andere component in AEM.

    de Component van de Tekst van de Update

  4. 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.

  1. Klik in Page Editor op het menu Page Information > View as Published :

    Mening als Gepubliceerde knoop

    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

  2. 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?

  3. Terugkeer aan het lusje: http://localhost:4502/content/wknd-spa-angular/us/en/home.html?wcmmode=disabled

  4. Open de de ontwikkelaarshulpmiddelen van browser en inspecteer het netwerkverkeer van de pagina tijdens verfrissen zich. Bekijk de XHR verzoeken:

    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.

  5. 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.

recommendation-more-help
e25b6834-e87f-4ff3-ba56-4cd16cdfdec4