Alterar o mecanismo de minificação para bibliotecas do cliente no AEM

Descrição

Ambiente
Adobe Experience Manager 6.4, 6.5

Problema/Sintomas
Como usar uma biblioteca de minificação diferente para AEM bibliotecas de clientes do que a biblioteca YUI Compressor padrão?

Resolução

No AEM, você pode trocar o mecanismo YUI por GCC (Google Closure Compiler https://github.com/google/closure-compiler-js).

Por exemplo, consulte estes nós de biblioteca do cliente que usam GCC para JS:

/libs/granite/contexthub/dependencies/coralui /etc/clientlibs/granite/coralui3 /etc/clientlibs/granite/coralui2 /libs/dam/gui/coral/components/admin/adhocassetshare/clientlibs/adhocassetshare /libs/dam/gui/components/admin/adhochochochochocassetshare/clientlibs/shareembedded /etc/clientlibs/screens/player/shared /etc/clientlibs/screens/player/firmware /libs/dam/gui/components/admin/adhocassetshare/clientlibs/shareembdedpreview /apps/geometrixx-instore/clientlibs

Observação: Se você quiser implementar seu próprio processador de script personalizado, implemente esta interface Java:
com.adobe.granite.ui.clientlibs.script.ScriptProcessor

JAVADOC RELACIONADO:

https://helpx.adobe.com/experience-manager/6-5/sites/developing/using/reference-materials/javadoc/com/adobe/granite/ui/clientlibs/script/ScriptProcessor.html

Isso permite definir ScriptProcessors que podem modificar fontes de script:

  • os processadores são configuráveis com opções
  • o processador pode ser usado para minificação, mas também para casos não minificados

CONFIGURAÇÃO:

  • O padrão ScriptProcessors podem ser definidas por meio da variável OSGi do Gerenciador da biblioteca do HTML na configuração do /system/console/configMgr IU).

AS OPÇÕES PARA GCC SÃO:

  • failOnWarning (o padrão é false)
  • languageIn (o padrão é ECMASCRIPT5)
  • languageOut (o padrão é ECMASCRIPT5)
  • compilationLevel (o padrão é simples) (pode ser espaço em branco, simples, avançado)

Nesta página