Risolvere gli errori di distribuzione di AEM Cloud Manager durante il test dell’interfaccia utente personalizzata a causa della compatibilità con ESM/CommonJS
Questo articolo descrive i passaggi per risolvere gli errori della pipeline di distribuzione durante il passaggio di test dell’interfaccia utente personalizzata in Adobe Experience Manager (AEM) Cloud Manager, causati da problemi di compatibilità tra i moduli ESM e le dipendenze CommonJS.
Descrizione description
Ambiente
Adobe Experience Manager as a Cloud Service (tutte le versioni)
Problema/Sintomi
- La pipeline di distribuzione non riesce durante il passaggio di test dell’interfaccia utente personalizzata in Cloud Manager.
- I registri di errori mostrano messaggi quali: ERR_REQUIRED_ESM: è necessario utilizzare l’importazione per caricare il modulo ES: @wdio/logger.
- Ulteriori errori si verificano quando i reporter solo ESM (ad esempio,
wdio-html-nice-reporter) vengono caricati utilizzandorequire()nei file di configurazione, con conseguente errore ERR_REQUIRED_ESM simile. - Possono verificarsi errori di indicizzazione anche se l’ambiente di destinazione non è completamente attivo durante la distribuzione.
Causa
Gli errori sono dovuti a incompatibilità tra le dipendenze dei moduli CommonJS e ES nella configurazione di test dell’interfaccia utente personalizzata. Inoltre, la distribuzione potrebbe non riuscire se l’ambiente di destinazione non è attivo.
Risoluzione resolution
Per risolvere il problema, segui i passaggi seguenti:
-
Esaminare le dipendenze dei test personalizzati dell’interfaccia utente, in particolare quelle relative a WebdriverIO (ad esempio
@wdio/loggerewdio-html-nice-reporter). -
Aggiorna istruzioni di importazione per compatibilità ESM:
- Rimuovi tutte le
require('@wdio/logger')importazioni dai file CommonJS (ad esempiolauncher.jsecomparisonstrategy.js). - Sostituire queste importazioni con semplici istruzioni di registrazione o utilizzare
import()dinamico, se necessario.
- Rimuovi tutte le
-
Regola configurazione reporter:
- Se si utilizzano reporter solo ESM (ad esempio
wdio-html-nice-reporter), assicurarsi che siano caricati utilizzando la sintassiimportanzichérequire()nei file di configurazione (ad esempiowdio.conf.commons.js). - È possibile rieseguire il factoring dei file di configurazione affinché siano compatibili con ESM se richiesto dal set di dipendenze oppure rimuovere i reporter solo ESM dall’array dei reporter per l’esecuzione di Cloud Manager.
- Se si utilizzano reporter solo ESM (ad esempio
-
Assicurati che l’ambiente di destinazione sia completamente attivo prima di eseguire la pipeline di distribuzione per evitare errori di indicizzazione. Se l’ambiente è stato precedentemente sospeso, attivarlo ed eseguire nuovamente la pipeline.
-
Eseguire nuovamente la pipeline di distribuzione e monitorare gli errori.
-
Verificare che il passaggio del test dell’interfaccia utente personalizzata sia stato completato correttamente e che la distribuzione proceda senza errori di compatibilità del modulo.