Qual è il modo migliore per minimizzare javascript aggregato di drupal (automaticamente)?


10

Ho appena eseguito Google page speed sul mio sito drupal 6 appena creato e riporta:

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.

Il file sopra è stato generato tramite il metodo di aggregazione JavaScript predefinito di drupal, ma apparentemente potrebbe essere più piccolo del 18% (il che è un grosso problema per questo sito). Quale approccio è considerato il migliore quando si tratta di minimizzare JavaScript su un sito drupal senza rompere alcun codice esistente?


Non penso che questa sia davvero una domanda specifica su Drupal, potrebbe riguardare qualsiasi minimizzazione di JavaScript e sarebbe quindi meglio porla su StackOverflow.
Decifrare l'

4
La parte specifica di drupal sarebbe che qualsiasi soluzione avrebbe bisogno di integrarsi con drupal e sostituire i file di aggregazione JS core con versioni minimizzate. Cambiato titolo per rendere questo più chiaro
con l'

Risposte:


4

Potresti usare il modulo Javascript Aggregator per questo o installare PageSpeed (il modulo Apache, non l'estensione Firebug) se usi Apache e puoi installare estensioni (ad esempio non un webhost condiviso), combinate con l'aggregazione propria di Drupal, con l'ulteriore vantaggio di PageSpeed potrebbe anche minimizzare CSS.


Usando nginx come webserver, non sono sicuro che Google Page Speed ​​si integri ancora con quello
wiifm

Ah, in questo caso stai meglio con il modulo di PageSpeed.
Wildpeaks

6

Ho creato un nuovo modulo per affrontare gran parte del problema dell'aggregazione e spero di averne una grande parte in D8; e sì è un modulo D6: http://drupal.org/project/advagg . Utilizza jsmin + lib per la compressione di JS e CSSTidy lib per la compressione CSS. Il vantaggio principale di questo è che il file aggregato css / js non cambia i nomi a meno che non sia necessario; questi file hanno anche una durata della cache di 1 anno e hanno una generazione di imagecache, quindi i 404 secondi del tuo file CSS dovrebbero appartenere al passato.

Aggiornamento: AdvAgg 7.x è in fase di sviluppo e include la minimizzazione di JS come modulo secondario opzionale. Altre opzioni D7:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs


1
Dalla descrizione sulla pagina, sto avvertendo un sottile suggerimento che dovrei installare questo modulo: D Ottimo lavoro, lo proverò.
Wildpeaks

1
Sì, ho provato questo modulo per il sito, l'unico problema è stato minimizzare il CSS in modo tale che il sito si è rotto. Non ero sicuro che ciò fosse dovuto al motore di minificazione CSS o ad alcuni CSS scarsamente codificati;) In ogni caso, ero solo dopo la minificazione JS, poiché JS è sostanzialmente più grande del CSS. Ci sarà un'opzione in questo modulo per disabilitare la minificazione CSS? Bel lavoro BTW
wiifm

Basta disabilitare il modulo di compressione CSS. Utilizza la libreria CSSTidy se ti stai chiedendo.
mikeytown2,

@ mikeytown2 Grazie mille per un modulo così eccezionale. Ho qualche problema con uno dei miei file css di siti Web a volte non caricare la domanda è qui [ drupal.stackexchange.com/questions/128649/… e il collegamento al sito Web [ living.md/[i stava vagando se uso advgg, devo abilitare drupal Aggrega e comprime file CSS e Aggregate file JavaScript. sotto prestazione. Non riesco a trovare alcuna documentazione per il modulo alcun link ad alcune impostazioni di base?
Yama,

2

Puoi usare il modulo Minify per fare lo stesso. Il modulo Minify minimizza JavaScript utilizzando il compilatore Google. Funziona anche con "File JavaScript aggregati", quindi puoi anche trarre vantaggio dalla combinazione di più file JavaScript, che è l'opzione predefinita in Drupal 7.

Il modulo Minify minimizza anche HTML.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.