Qual é a melhor maneira de reduzir o javascript agregado do drupal (automaticamente)?

10

Acabei de executar a velocidade da página do Google no meu site drupal 6 recém-criado e ele informa:

Minifying the following JavaScript resources could reduce their size by 15.6KiB (12% reduction).

    Minifying http://[sites]/sites/default/files/js/js_9f19b87ffb72ca233ea7e45dda2f20f9.js could save 15.3KiB (18% reduction). See optimized version or Save as.

O arquivo acima foi gerado pelo método de agregação JavaScript do drupal, mas aparentemente pode ser 18% menor (o que é muito importante para este site). Qual abordagem é considerada a melhor quando se trata de reduzir o JavaScript em um site drupal sem quebrar nenhum código existente?

wiifm
fonte
Eu não acho que essa seja realmente uma pergunta específica do Drupal, poderia estar relacionada a qualquer minificação de JavaScript e, portanto, seria melhor perguntar no StackOverflow.
Decipher
4
A parte específica do drupal seria que qualquer solução precisaria se integrar ao drupal e substituir os arquivos principais de agregação JS por versões minificadas. Mudou título para espero fazer isso mais claro
WIIFM

Respostas:

4

Você pode usar o módulo Javascript Aggregator para isso ou instalar o PageSpeed (o módulo Apache, não a extensão Firebug) se você usar o Apache e puder instalar extensões (por exemplo, não um host compartilhado), combinado com a agregação do Drupal, com o benefício adicional que o PageSpeed também pode reduzir o CSS.

picos selvagens
fonte
Usando nginx como o servidor web, não muito certo se o Google PageSpeed integra com isso agora
WIIFM
Ah, de fato, você está melhor com o módulo do que o PageSpeed ​​nesse caso.
wildpeaks
6

Criei um novo módulo para lidar com grande parte da questão da agregação e espero obter uma grande parte dela no D8; e sim, é um módulo D6: http://drupal.org/project/advagg . Usa o jsmin + lib para compactação de JS e o CSSTidy lib para compactação de CSS. A principal vantagem disso é que o arquivo agregado css / js não altera os nomes, a menos que seja necessário; esses arquivos também têm uma vida útil de cache de 1 ano e têm geração de arquivos de imagem, portanto 404s para seu arquivo CSS devem ser coisa do passado.

Atualização: O AdvAgg 7.x está sendo desenvolvido e vem com a minificação de JS como um submódulo opcional. Outras opções do D7:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs

mikeytown2
fonte
1
Na descrição da página, estou sentindo uma dica sutil de que devo instalar este módulo: D Bom trabalho, vou testá-lo.
wildpeaks
1
Sim, eu tentei este módulo para o site, o único problema foi que ele reduziu o CSS de tal maneira que o site quebrou. Eu não tinha certeza se isso se devia ao mecanismo de minificação CSS ou a algum CSS mal codificado;) De qualquer forma, eu estava apenas após a minificação JS, pois o JS é substancialmente maior que o CSS. Haverá opção neste módulo para desativar a minificação de CSS? Bom trabalho BTW
wiifm
Apenas desative o módulo de compactação CSS. Ele usa a biblioteca CSSTidy se você estiver pensando.
mikeytown2
@ mikeytown2 Muito obrigado por esse ótimo módulo. Eu tenho algum problema com um dos meus sites arquivos css em algum momento não carregam a pergunta está aqui [ drupal.stackexchange.com/questions/128649/… e o link do site [ living.md/ussyi estava vagando se eu usar advgg, preciso ativar Agrupe e comprima arquivos CSS e arquivos JavaScript agregados. sob desempenho. Não consigo encontrar nenhuma documentação para o módulo algum link para alguma configuração básica?
Yama
2

Você pode usar o módulo Minify para fazer o mesmo. Módulo Minify Minimize o JavaScript usando o compilador do Google. Ele também funciona com "Agregar arquivos JavaScript" para que você também possa aproveitar a vantagem de combinar vários arquivos JavaScript, que é a opção padrão no Drupal 7.

O módulo Minify também minimiza o HTML.

Atul Bhosale
fonte