Componente RemotePage remote-page-component

Quando si decide quale livello di integrazione si desidera avere tra l'SPA esterno e l'AEM, spesso è chiaro che è necessario essere in grado di visualizzare e modificare l'SPA all'interno dell'AEM. Il componente RemotePage è un componente pagina personalizzato appositamente per questo scopo.

Panoramica overview

Il componente RemotePage recupera tutte le risorse necessarie da asset-manifest.json generato dall'applicazione e le utilizza per il rendering dell'SPA in AEM.

  • RemotePage consente di inserire gli script e i fogli di stile di un SPA nel corpo di un componente Pagina AEM.
  • I componenti front-end virtuali consentono di contrassegnare le sezioni come modificabili nell’editor SPA dell’AEM.
  • Insieme, un SPA ospitato su un dominio diverso può essere reso modificabile in AEM.

Per ulteriori dettagli sull'SPA esterno modificabile nell'AEM, vedere l'articolo Modifica di un SPA esterno nell'AEM.

Requisiti requirements

  • Abilitare CORS nello sviluppo

  • Configurare l’URL remoto nelle Proprietà pagina

  • Rendere l’SPA nell’AEM

  • L’applicazione web deve utilizzare un manifesto della risorsa bundler come uno dei seguenti ed esporre un file asset-manifest.json nella directory principale del dominio che elenca in una proprietà entrypoints tutti i file CSS e JS da caricare:

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

    Punti di ingresso

  • L'applicazione deve essere in grado di inizializzare in un <div id="root"></div> sotto l'elemento body. Se è previsto un markup diverso per la creazione dell'istanza dell'app, è necessario regolarlo di conseguenza negli script HTL del componente proxy con sling:resourceSuperType="spa-project-core/components/remotepage.

Limitazioni limitations

  • Il componente RemotePage prevede che l'implementazione fornisca un manifesto delle risorse come quello trovato qui. Il componente RemotePage, tuttavia, è stato testato solo per il funzionamento con il framework React (e Next.js tramite il componente remote-page-next) e pertanto non supporta il caricamento remoto di applicazioni da altri framework, ad esempio Angular.
  • I CSS interni definiti nel file HTML principale dell’applicazione e i CSS in linea sul nodo DOM principale non saranno disponibili durante il rendering remoto nell’AEM.

Dettagli tecnici technical-details

Come il resto del progetto SPA dell’AEM, il componente RemotePage è open source. Per informazioni tecniche complete sul componente RemotePage, consulta l'archivio GitHub.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2