it-swarm-tr.com

Büyük JS kütüphanelerini yükleme maliyetlerini nasıl azaltabilirim?

Sayfam için büyük bir Javascript kitaplığı kullanıyorsam, bunun kullanıcının siteyi kullanmasını engellemediğinden nasıl emin olabilirim?

23
Macha

Yapabileceğin 4 şey var.

  1. JS Dosyanızı küçültün. Bu, boyutunu küçültmek için tüm yorumları ve Beyazları kaldırır.
  2. JS Dosyalarınızı her sayfada yalnızca 1 dosya olacak şekilde birleştirin.
  3. Dosyalarınızı gönderirken onları sıkıştırmak için bir paket kullanın. Bu onları daha da küçük yapacak
  4. İstenmeyen Javascript'i sayfanın en altına, sonunda yüklenecek şekilde yerleştirin. Bu, kullanıcının JS tamamen yüklenmeden önce bile sayfayı görmesine ve kullanmasına izin verecektir.

Ve diğer bazı insanlar önerdi:

  • Apache, dosyaların yönetimini büyük ölçüde kolaylaştıran sıkıştırmayı (ve sıkıştırılmış içeriğin önbelleğe alınmasını) otomatik olarak ele alır
  • JavaScript’i düzgün bir şekilde önbelleğe almak, büyük avantajlar sağlayacaktır.
  • Joker karakterler (birden fazla URI ile) daha fazla eşzamanlı bağlantıya izin verir. Önceden alma sadece resimler için değil /
25
Ben Hoffman

Ortak kütüphaneler kullanıyorsanız (örneğin, jQuery, Prototype veya Dojo gibi), dosyayı Google’a yükleyebilir ve sunun yapabilirsiniz, bu size birkaç avantaj sağlar:

  • Küçültme ve sıkma vb. İçin endişelenmenize gerek yok
  • Bu senin bant genişliğin değil
  • Bu dosyalar farklı bir etki alanından gelir, bu nedenle en azından kısmen) ana bilgisayar adı başına 2 paralel istek sınırı
  • Şanslıysanız, kullanıcı aynı kütüphaneden aynı kütüphaneyi kullanan başka bir siteyi zaten ziyaret etmiş, bu nedenle tarayıcı önbelleğinde zaten var.

Not: İstediğiniz sürümün önbelleğe alma özellikleri üzerinde büyük bir etkisi olabilir: jQuery 1.4.2'yi istemek size bir yıl boyunca önbelleğe alınabilecek bir dosya verir, ancak 1.4 yalnızca bir saat için önbelleğe alınabilir.

21
Cebjyre

Kütüphanenin tamamını bir js dosyasına koyabilir ve dosyayı sıkıştırabilirsiniz. Ancak, bir sayfanın ilk yüklenmesi için gerçekten önemlidir. Bundan sonra, özellikle önbellek sona erme süresini yeterince uzun ayarlarsanız, js dosyanız tarayıcıda önbelleğe alınır. Dolayısıyla, art arda gelen isabetler artık js dosyanızı yüklemeyecektir.

6
txwikinger

Yukarıdaki cevaplara ek olarak, diğer 3. parti kütüphanelerle (jQuery, YUI, mootools, vb.) Bütünleşirken JS'nizi otomatik olarak sıkıştırmak ve optimize etmek için Google Closure Compiler kullanabilirsiniz.

4
theycallmemorty

Çok sayıda sayfa öğesi ve ayrı bir etki alanına erişiminiz varsa, büyük JS dosyası dahil olmak üzere tüm statik dosyaları ikinci etki alanında barındırmayı düşünebilirsiniz.

Steve Souders'ın Yüksek Performanslı Web Siteleri blogunda belirttiği gibi -

... bazı durumlarda, tek bir etki alanına indirilen bir avuç kaynağın alınması ve birden çok alana bölünmesi yararlı olacaktır. Ben bu etki alanı paylaşımı denir. Bunu yapmak, toplam sayfa yükleme süresini azaltarak daha fazla kaynağın paralel olarak indirilmesini sağlar.

başka bir yerde yazıyor ..

Tarayıcılar, etki alanı başına sınırlı sayıda bağlantı açar ... Bir etki alanı yerine, iki etki alanındaki istekleri bölme veya paylaşma, özellikle IE 6 & 7

0
mvark