DocumentaciónAEMTutoriales de AEMTutorial de AEM sin encabezado

Proyecto de SPA Editor

Última actualización: 16 de junio de 2025
  • Se aplica a:
  • Experience Manager as a Cloud Service
  • Temas:
  • Proyecto arquetipo AEM

Creado para:

  • Principiante
  • Desarrollador
IMPORTANTE
El editor de SPA ha quedado obsoleto para nuevos proyectos. Sigue siendo compatible con Adobe para los proyectos existentes, pero no debe utilizarse para nuevos proyectos. Los editores preferidos para administrar contenido en AEM ahora son:
  • El Editor universal para editar contenido sin encabezado de forma visual.
  • El Editor de fragmentos de contenido para la edición de contenido sin encabezado basada en formularios.

Aprenda a utilizar un proyecto Maven de Adobe Experience Manager (AEM) como punto de partida para una aplicación de Angular integrada con AEM SPA Editor.

Objetivo

  1. Comprenda la estructura de un nuevo proyecto de AEM SPA Editor creado a partir de un arquetipo de Maven.
  2. Implemente el proyecto de inicio en una instancia local de AEM.

Qué va a generar

En este capítulo, se implementa un nuevo proyecto de AEM basado en el Arquetipo de proyecto de AEM. El proyecto de AEM tiene un punto de partida muy sencillo para la SPA de Angular. El proyecto utilizado en este capítulo servirá de base para la implementación de la SPA de WKND y se basa en capítulos futuros.

Proyecto de inicio de Angular SPA de WKND

Un mensaje clásico de Hello World.

Requisitos previos

Revise las herramientas y las instrucciones necesarias para configurar un entorno de desarrollo local. Asegúrese de que una nueva instancia de Adobe Experience Manager, iniciada en el modo author, se esté ejecutando localmente.

Obtención del proyecto

Existen varias opciones para crear un proyecto de módulo múltiple de Maven para AEM. Este tutorial usó el tipo de archivo del proyecto AEM más reciente como base para el código del tutorial. Se han realizado modificaciones en el código del proyecto para que sea compatible con varias versiones de AEM. Revise la nota sobre la compatibilidad con versiones anteriores.

ATENCIÓN
Se recomienda usar la última versión del tipo de archivo para generar un nuevo proyecto para una implementación real. Los proyectos de AEM deben tener como destino una sola versión de AEM utilizando la propiedad aemVersion del tipo de archivo.
  1. Descargue el punto de partida para este tutorial mediante Git:

    $ git clone git@github.com:adobe/aem-guides-wknd-spa.git
    $ cd aem-guides-wknd-spa
    $ git checkout Angular/create-project-start
    
  2. La siguiente estructura de carpetas y archivos representa el proyecto de AEM generado por el arquetipo de Maven en el sistema de archivos local:

    |--- 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. Se utilizaron las siguientes propiedades al generar el proyecto de AEM a partir del arquetipo del proyecto de AEM:

    Propiedad
    Valor
    aemVersion
    nube
    appTitle
    WKND SPA ANGULAR
    appId
    wknd-spa-angular
    groupId
    com.adobe.aem.guides
    frontendModule
    angular
    paquete
    com.adobe.aem.guides.wknd.spa.angular
    includeExamples
    n
    NOTE
    Observe la propiedad frontendModule=angular. Esto indica al tipo de archivo del proyecto de AEM que arranque el proyecto con un código base de Angular inicial que se utilizará con el editor de SPA de AEM.

Creación del proyecto

A continuación, compile, genere e implemente el código del proyecto en una instancia local de AEM usando Maven.

  1. Asegúrese de que una instancia de AEM se esté ejecutando localmente en el puerto 4502.

  2. Desde el terminal de la línea de comandos, compruebe que Maven está instalado:

    $ 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. Ejecute el siguiente comando Maven desde el directorio aem-guides-wknd-spa para generar e implementar el proyecto en AEM:

    $ mvn -PautoInstallSinglePackage clean install
    

    Si usas AEM 6.x:

    $ mvn clean install -PautoInstallSinglePackage -Pclassic
    

    Los múltiples módulos del proyecto deben compilarse e implementarse en AEM.

    [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] ------------------------------------------------------------------------
    

    El perfil de Maven autoInstallSinglePackage compila los módulos individuales del proyecto e implementa un paquete único en la instancia de AEM. De manera predeterminada, este paquete se implementa en una instancia de AEM que se ejecuta localmente en el puerto 4502 y con las credenciales de admin:admin.

  4. Vaya a Administrador de paquetes en la instancia local de AEM: http://localhost:4502/crx/packmgr/index.jsp.

  5. Debería ver tres paquetes para wknd-spa-angular.all, wknd-spa-angular.ui.apps y wknd-spa-angular.ui.content.

    Paquetes de SPA WKND

    Todo el código personalizado necesario para el proyecto se incluye en estos paquetes y se instala en el tiempo de ejecución de AEM.

  6. También debería ver varios paquetes para spa.project.core y core.wcm.components. Son dependencias incluidas automáticamente por el tipo de archivo. Encontrará más información sobre componentes principales de AEM aquí.

Contenido del autor

A continuación, abra el SPA de inicio generado por el tipo de archivo y actualice parte del contenido.

  1. Vaya a la consola de Sites: http://localhost:4502/sites.html/content.

    La SPA de WKND incluye una estructura básica del sitio con un país, un idioma y una página de inicio. Esta jerarquía se basa en los valores predeterminados del tipo de archivo para language_country y isSingleCountryWebsite. Estos valores se pueden sobrescribir actualizando las propiedades disponibles al generar un proyecto.

  2. Para abrir la página us > en > WKND SPA Angular Home Page, seleccione la página y haga clic en el botón Editar de la barra de menús:

    consola del sitio

  3. Ya se agregó un componente Texto a la página. Puede editar este componente como cualquier otro componente de AEM.

    Actualizar componente de texto

  4. Agregue un componente Text adicional a la página.

    Tenga en cuenta que la experiencia de creación es similar a la de una página de AEM Sites tradicional. Actualmente hay un número limitado de componentes disponibles para su uso. Se agregarán más en el curso del tutorial.

Inspeccionar la aplicación de una sola página

A continuación, compruebe que se trata de una aplicación de una sola página con el uso de las herramientas para desarrolladores del explorador.

  1. En el Editor de páginas, haga clic en el menú Información de la página > Ver como publicado:

    Botón Ver como publicado

    Se abrirá una nueva ficha con el parámetro de consulta ?wcmmode=disabled que desactiva el editor de AEM: http://localhost:4502/content/wknd-spa-angular/us/en/home.html?wcmmode=disabled

  2. Vea el origen de la página y observe que no se encuentra el contenido de texto Hello World o cualquiera de los demás contenidos. En su lugar, debería ver HTML como se muestra a continuación:

    ...
    <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 es la SPA de Angular que se carga en la página y responsable de procesar el contenido.

    ¿De dónde proviene el contenido?

  3. Vuelva a la ficha: http://localhost:4502/content/wknd-spa-angular/us/en/home.html?wcmmode=disabled

  4. Abra las herramientas para desarrolladores del explorador e inspeccione el tráfico de red de la página durante una actualización. Ver las solicitudes XHR:

    Solicitudes XHR

    Debe haber una solicitud a http://localhost:4502/content/wknd-spa-angular/us/en.model.json. Contiene todo el contenido, con formato JSON, que dirigirá el SPA.

  5. En una ficha nueva, abra http://localhost:4502/content/wknd-spa-angular/us/en.model.json

    La solicitud en.model.json representa el modelo de contenido que controlará la aplicación. Inspeccione la salida JSON y debería poder encontrar el fragmento que representa los componentes Texto.

    ...
    ":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"
    },
    ...
    

    En el siguiente capítulo, analizaremos cómo se asigna el contenido JSON de los componentes de AEM a los componentes de SPA para formar la base de la experiencia del editor de SPA de AEM.

    NOTE
    Puede resultar útil instalar una extensión de explorador para dar formato automáticamente a la salida JSON.

Enhorabuena.

¡Felicidades, acaba de crear su primer proyecto de AEM SPA Editor!

Ahora mismo es bastante simple, pero en los próximos capítulos se agrega más funcionalidad.

Siguientes pasos

Integrar el SPA: aprenda cómo se integra el código fuente del SPA con el proyecto de AEM y comprenda las herramientas disponibles para desarrollar rápidamente el SPA.

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