Histórico da Página
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
Introdução
Essa documentação tem como objetivo explicar como é feita a configuração do plugin Closure compiler Maven Plugin
Hoje no Fluig plataforma utiliza-se o plugin YUI compressor para minificar arquivos CSS e JS. Porém o mesmo permanece inativo e sem atualização desde 2013 ficando um pouco ultrapassado e nos impossibilitando de utilizar novas tecnologias, como o ES6.
Fim do YUI Compressor?
Não será possível remover completamente o YUI-Compressor de nosso produto pois o Closure Compiler não irá processar arquivos CSS, apenas JS. Sendo necessário a permanência do antigo para minificar a folha de estilo.
Configurando o plugin
Os plugins são configurados nos pom.xml de cada projeto. Primeiramente devemos fazer com que o YUI-Compressor pare de minificar os arquivos JS, para isso na configuração já existente precisamos adicionar a seguinte tag dentro da configuração.
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<configuration> … <excludes> <exclude>**/*.js</exclude> </excludes> … </configuration> |
Feito isso, podemos configurar o Closure Compiler.
...
Nota | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Atualmente, caso o plugin não encontre um js dentro do source dir definido ele quebra. Por isso, em projetos onde o pom pai não possui arquivos a serem minificados, passamos o skip como true. Porém é necessário que em seus filhos haja a configuração:
Template StringPor conta do mecanismo de internacionalização utilizado no fluig, a funcionalidade de template de string, onde a sintaxe é ${...} deverá ser codificada com um parâmetro a mais, conforme exemplo abaixo: Bloco de código | | |||||||
|
Nota | ||
---|---|---|
| ||
Hoje a minificação realizada nos arquivos javaScript pelo plugin pode ocasionar um conflito entre o template de string e o mecanismo de internacionalização i18n, podendo gerar inconsistências. Caso você não use internacionalização em seu JS, template string irá funcionar normalmente. Estamos trabalhando a fim de proporcionar uma solução em próximas versões. |