Apa cara terbaik untuk meminimalkan javascript gabungan drupal (secara otomatis)?


10

Baru saja menjalankan Google pagespeed di atas situs drupal 6 saya yang baru dibuat, dan dilaporkan:

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.

File di atas dihasilkan melalui metode agregasi JavaScript default drupal, tetapi ternyata itu bisa 18% lebih kecil (yang merupakan masalah besar untuk situs ini). Pendekatan apa yang dianggap yang terbaik dalam hal meminimalkan JavaScript pada situs drupal tanpa melanggar kode yang ada?


Saya tidak berpikir ini benar-benar pertanyaan spesifik Drupal, ini bisa berhubungan dengan minifikasi JavaScript dan karena itu akan lebih baik ditanyakan di StackOverflow.
Menguraikan

4
Bagian spesifik drupal adalah bahwa solusi apa pun perlu diintegrasikan dengan drupal dan mengganti file agregasi JS inti dengan versi yang diperkecil. Mengubah judul agar mudah-mudahan ini menjadi lebih jelas
wiifm

Jawaban:


4

Anda bisa menggunakan modul Javascript Aggregator untuk itu atau menginstal PageSpeed (modul Apache, bukan ekstensi Firebug) jika Anda menggunakan Apache dan dapat menginstal ekstensi (mis. Bukan hosting bersama), dikombinasikan dengan agregasi Drupal sendiri, dengan manfaat tambahan yang PageSpeed juga dapat memperkecil CSS.


Menggunakan nginx sebagai server web, tidak terlalu yakin apakah Google pagespeed terintegrasi dengan itu dulu
wiifm

Ah memang, Anda lebih baik dengan modul daripada PageSpeed ​​dalam kasus itu.
wildpeaks

6

Saya membuat modul baru untuk mengatasi banyak masalah agregasi & saya berharap untuk mendapatkan sebagian besar ke D8; dan ya itu adalah modul D6: http://drupal.org/project/advagg . Menggunakan jsmin + lib untuk kompresi JS dan lib CSSTidy untuk kompresi CSS. Keuntungan utama dari ini adalah file agregat css / js tidak mengubah nama kecuali jika perlu; file-file ini juga memiliki masa cache 1 tahun & memiliki generasi Imagecache sehingga 404-an untuk file CSS Anda harus menjadi sesuatu dari masa lalu.

Pembaruan: AdvAgg 7.x sedang dikembangkan dan dilengkapi dengan minifikasi JS sebagai sub modul opsional. Opsi D7 lainnya:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs


1
Dari deskripsi di halaman, saya merasakan petunjuk halus bahwa saya harus menginstal modul ini: D Kerja bagus, saya akan mencobanya.
wildpeaks

1
Ya, saya sudah mencoba modul ini untuk situs tersebut, satu-satunya masalah adalah ia memperkecil CSS sedemikian rupa sehingga situs tersebut rusak. Saya tidak yakin apakah ini disebabkan oleh mesin minifikasi CSS atau beberapa kode CSS buruk;) Dalam hal apapun, saya hanya setelah JS minification, karena JS secara substansial lebih besar daripada CSS. Apakah akan ada opsi dalam modul ini untuk menonaktifkan minifikasi CSS? Kerja bagus BTW
wiifm

Nonaktifkan saja modul Kompresi CSS. Ia menggunakan perpustakaan CSSTidy jika Anda ingin tahu.
mikeytown2

@ mikeytown2 Terima kasih banyak untuk modul yang luar biasa ini. Saya punya masalah dengan salah satu situs web saya file css kadang-kadang tidak memuat pertanyaan ada di sini [ drupal.stackexchange.com/questions/128649/… dan tautan situs web [ living.md/[i berkeliaran jika saya menggunakan advgg apakah saya perlu mengaktifkan drupal Agregat dan kompres file CSS dan file Agregat JavaScript. di bawah rata-rata. Saya tidak dapat menemukan dokumentasi untuk modul apa pun tautan ke beberapa pengaturan dasar?
Yama

2

Anda dapat menggunakan modul Minify untuk melakukan hal yang sama. Modul Minify minify JavaScript menggunakan kompiler Google. Ini juga bekerja dengan "File JavaScript Agregat" sehingga Anda juga bisa mendapatkan keuntungan dari menggabungkan beberapa file JavaScript yang merupakan opsi default di Drupal 7.

Modul Minify juga minify HTML.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.