Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github
A Yahoo! oferece um excelente utilitário, chamado YUI Compressor, para minificar JavaScripts e folhas de estilo, assim, eles são carregados mais rapidamente. Graças ao Assetic, você pode tirar proveito desta ferramenta de forma muito fácil.
O YUI Compressor é escrito em Java e distribuído como um JAR. Faça o download do JAR no site da Yahoo! e salve-o em app/Resources/java/yuicompressor.jar.
Agora você precisa configurar dois filtros Assetic em sua aplicação, um para minificar os JavaScripts com o YUI Compressor e um para minificar as folhas de estilo:
Você agora tem acesso a dois novos filtros Assetic em sua aplicação: yui_css e yui_js. Eles utilizarão o YUI Compressor para minificar as folhas de estilo e JavaScripts, respectivamente.
Você agora tem o YUI Compressor configurado, mas nada vai acontecer até aplicar um desses filtros para um asset. Uma vez que os seus assets fazem parte da camada de visão, este trabalho é feito em seus templates:
Note
O exemplo acima assume que você tem um bundle chamado AcmeFooBundle e os seus arquivos JavaScript estão no diretório``Resources/public/js`` sob o seu bundle. Entretante, isso não é importante - você pode incluir os seus arquivos JavaScript, não importa onde eles estiverem.
Com a adição do filtro yui_js para as tags asset acima, você deve agora ver os JavaScripts minificados sendo carregados muito mais rápido. O mesmo processo pode ser repetido para minificar as suas folhas de estilo.
Os JavaScripts e as folhas de estilo minificados são muito difíceis de ler, e muito menos depurar. Devido a isso, o Assetic permite desabilitar um certo filtro quando a sua aplicação está no modo de depuração. Você pode fazer isso prefixando o nome do filtro em seu template com um ponto de interrogação: ?. Isto diz ao Assetic para apenas aplicar esse filtro quando o modo de depuração está desligado.