Drupal'ın toplu javascriptini (otomatik olarak) en aza indirmenin en iyi yolu nedir?


10

Yeni oluşturulan drupal 6 sitemde Google sayfa hızını çalıştırdım ve rapor ediyor:

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.

Yukarıdaki dosya drupal'ın varsayılan JavaScript toplama yöntemiyle oluşturuldu, ancak görünüşe göre% 18 daha küçük olabilir (bu site için büyük bir anlaşma). Mevcut bir kodu kırmadan bir drupal sitede JavaScript'i küçültmek söz konusu olduğunda en iyi yaklaşım hangisidir?


Bunun gerçekten Drupal'a özgü bir soru olduğunu düşünmüyorum, JavaScript'in herhangi bir küçültmesiyle ilgili olabilir ve bu nedenle StackOverflow'da daha iyi sorulur.
deşifre

4
Drupal'a özgü kısım, herhangi bir çözümün drupal ile bütünleşmesi ve çekirdek JS toplama dosyalarını minimize edilmiş sürümlerle değiştirmesi gerektiğidir. Umarım bu daha net yapmak için başlık değiştirildi
wiifm

Yanıtlar:


4

Bunun için Javascript Toplayıcı modülünü kullanabilir veya Apache kullanıyorsanız ve Drupal'ın kendi toplamasıyla birlikte uzantıları (ör. Paylaşılan bir web barındırıcısı değil) yükleyebilmeniz için PageSpeed'i (Firebug uzantısı değil Apache modülü) yükleyebilirsiniz. ayrıca CSS'yi küçültebilir.


Nginx'i web sunucusu olarak kullanarak, Google sayfa hızının henüz bununla entegre olup olmadığından emin değilim
wiifm

Ah, bu durumda modülle PageSpeed'den daha iyi durumdasınız.
wildpeaks

6

Bir çok toplama sorunuyla başa çıkmak için yeni bir modül oluşturdum ve bunun büyük bir bölümünü D8'e almayı umuyorum; ve evet bu bir D6 modülü: http://drupal.org/project/advagg . JS sıkıştırması için jsmin + lib ve CSS sıkıştırması için CSSTidy lib kullanır. Bunun en büyük avantajı css / js toplama dosyasının gerekmedikçe adları değiştirmemesidir; Bu dosyalar da 1 yıllık önbellek ömrüne sahiptir ve imagecache nesli vardır, bu nedenle CSS dosyanıza 404'ler geçmişte kalmalıdır.

Güncelleme: AdvAgg 7.x geliştiriliyor ve isteğe bağlı bir alt modül olarak JS'nin küçültülmesi ile geliyor. Diğer D7 seçenekleri:
http://drupal.org/project/speedy
http://drupal.org/project/uglifyjs


1
Sayfadaki açıklamadan, bu modülü yüklemem gerektiğine dair ince bir ipucu duyuyorum: D İyi iş, deneyeceğim.
wildpeaks

1
Evet, bu modülü site için denedim, tek sorun CSS'yi site kırılacak şekilde küçültmekti. Bunun CSS minimizasyon motorundan mı yoksa bazı kötü kodlanmış CSS'den mi kaynaklandığından emin değildim;) Her durumda, JS CSS'den önemli ölçüde daha büyük olduğu için sadece JS minimizasyonundan sonraydım. Bu modülde CSS minyatürünü devre dışı bırakma seçeneği olacak mı? Güzel iş BTW
wiifm

Sadece CSS Sıkıştırma modülünü devre dışı bırakın. Merak ediyorsanız CSSTidy kütüphanesini kullanır.
mikeytown2

@ mikeytown2 Böyle harika bir modül için çok teşekkür ederim. Benim web siteleri biri css dosyaları ile bazen bir sorun yük değil bazı sorun var [ drupal.stackexchange.com/questions/128649/… ve web sitesi bağlantısı [ living.md/ dampi ben advgg kullanırsanız dolaşmak etkinleştirmek gerekiyor mu drupal CSS dosyalarını ve Toplu JavaScript dosyalarını toplayın ve sıkıştırın. performans düşüklüğü. Modül için herhangi bir belge bulamıyorum bazı temel ayarlara herhangi bir bağlantı?
Yama

2

Aynısını yapmak için Küçült modülünü kullanabilirsiniz . Küçültme modülü, Google derleyicisini kullanarak JavaScript'i küçültün. Ayrıca "JavaScript dosyalarını birleştirme" ile de çalışır, böylece Drupal 7'de varsayılan seçenek olan birden fazla JavaScript dosyasını birleştirme avantajından da yararlanabilirsiniz.

Küçültme modülü ayrıca HTML'yi küçültür.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.