O componente RemotePage remote-page-component

Ao decidir qual nível de integração você gostaria de ter entre seu SPA externo e o AEM, geralmente fica claro que você precisa visualizar e editar o SPA no AEM. O componente RemotePage é um componente de página personalizado apenas para esta finalidade.

Visão geral overview

O componente RemotePage busca todos os ativos necessários do asset-manifest.json gerado pelo aplicativo e usa isso para renderizar o SPA no AEM.

  • A RemotePage permite inserir os scripts e folhas de estilos de um SPA no corpo de um componente Página do AEM.
  • Os Componentes de front-end virtuais permitem marcar seções como editáveis no AEM SPA Editor.
  • Juntos, um SPA hospedado em um domínio diferente pode se tornar editável no AEM.

Consulte o artigo Edição de um SPA externo no AEM para obter mais detalhes sobre SPAs externos editáveis no AEM.

IMPORTANT
O editor de SPA foi descontinuado para novos projetos.Ele continuará funcionando com projetos existentes da Adobe, mas não deve ser usado para novos projetos. Os editores preferidos para gerenciar conteúdo headless no AEM agora são:

Requisitos requirements

  • Ativar o CORS em desenvolvimento

  • Configurar o URL remoto nas Propriedades da página

  • Renderize o SPA no AEM

  • O aplicativo da Web deve usar um manifesto de ativo de pacote como um dos seguintes e expor um arquivo asset-manifest.json na raiz do domínio que lista, em uma propriedade de pontos de entrada, todos os arquivos CSS e JS que devem ser carregados:

    • https://github.com/shellscape/webpack-manifest-plugin
    • https://github.com/webdeveric/webpack-assets-manifest
    • https://github.com/mugi-uno/parcel-plugin-bundle-manifest

    Pontos de entrada

  • O aplicativo deve ser capaz de inicializar em um <div id="root"></div> sob o elemento do corpo. Se uma marcação diferente for esperada para o aplicativo instanciar, ela deverá ser ajustada adequadamente nos scripts HTL do componente proxy que tem um sling:resourceSuperType="spa-project-core/components/remotepage.

Limitações limitations

  • O componente RemotePage espera que a implementação forneça um manifesto de ativo como o ​ encontrado aqui. O componente RemotePage, no entanto, só foi testado para funcionar com a estrutura React (e Next.js por meio do componente remote-page-next) e, portanto, não oferece suporte ao carregamento remoto de aplicativos de outras estruturas, como o Angular.
  • O CSS interno definido no arquivo HTML raiz do aplicativo e o CSS em linha no nó DOM raiz não estarão disponíveis ao fazer renderização remota no AEM.

Detalhes técnicos technical-details

Como o restante do projeto SPA do AEM, o componente RemotePage é de código aberto. Para obter os detalhes técnicos completos do componente RemotePage, consulte o repositório do GitHub.

recommendation-more-help
51c6a92d-a39d-46d7-8e3e-2db9a31c06a2