it-swarm-id.com

Bagaimana saya bisa mengurangi biaya memuat perpustakaan JS besar?

Jika saya menggunakan perpustakaan Javascript besar untuk halaman saya, bagaimana saya bisa memastikan bahwa ini tidak mengganggu penggunaan situs oleh pengguna?

23
Macha

Ada 4 hal yang bisa Anda lakukan.

  1. Perkecil File JS Anda. Ini menghapus semua komentar dan Whitespace untuk mengurangi ukurannya.
  2. Gabungkan File JS Anda di setiap halaman sehingga hanya ada 1 file.
  3. Gunakan paket untuk gzip file Anda saat Anda mengirimnya. Ini akan membuat mereka lebih kecil
  4. Masukkan Javascript yang tidak diperlukan segera di bagian bawah halaman sehingga memuat di akhir. Ini akan memungkinkan pengguna untuk melihat dan menggunakan halaman bahkan sebelum JS sepenuhnya dimuat.

Dan beberapa orang lain telah menyarankan:

  • Apache akan secara otomatis menangani kompresi (dan caching konten terkompresi) yang secara masif menyederhanakan pengelolaan file
  • Membuat JavaScript dengan benar dapat menyimpan cache akan menghasilkan manfaat besar.
  • Domain wildcard (dengan beberapa URI) akan memungkinkan koneksi yang lebih bersamaan. Pra-pengambilan bukan hanya untuk gambar /
25
Ben Hoffman

Jika Anda menggunakan perpustakaan umum (seperti jQuery, Prototype, atau Dojo), Anda dapat melepas file ke Google dan membuatnya melayani , ini memberi Anda beberapa keuntungan:

  • Anda tidak perlu khawatir tentang minifying dan zipping dll
  • Ini bukan bandwidth Anda
  • File-file ini berasal dari domain yang berbeda, sehingga Anda dapat (setidaknya sebagian) menyelesaikan (batas 2 permintaan paralel per nama host
  • Jika Anda beruntung, pengguna telah mengunjungi beberapa situs lain yang menggunakan pustaka yang sama dari penyedia yang sama, sehingga mereka sudah memilikinya di cache browser.

Catatan: Versi yang Anda minta dapat memiliki dampak besar pada karakteristik caching: meminta jQuery 1.4.2 akan memberi Anda file yang bisa di-cache selama setahun, tetapi 1.4 hanya bisa di-cache selama satu jam.

21
Cebjyre

Anda dapat menempatkan seluruh perpustakaan menjadi satu file js dan kompres file tersebut. Namun, itu hanya penting untuk pemuatan halaman pertama. Setelah ini, file js Anda akan di-cache di browser, khususnya jika Anda mengatur cache-expiration cukup lama. Karenanya setiap klik berurutan tidak akan memuat file js Anda lagi.

6
txwikinger

Selain jawaban di atas, Anda dapat menggunakan Google Closure Compiler untuk secara otomatis mengompresi dan mengoptimalkan JS Anda sambil berintegrasi dengan perpustakaan pihak ketiga lainnya (jQuery, YUI, mootools, dll.)

4
theycallmemorty

Jika Anda memiliki sejumlah elemen halaman & akses ke domain terpisah, Anda dapat mempertimbangkan meng-hosting semua file statis termasuk file JS besar di domain kedua.

Seperti yang dicatat Steve Souders di blog Situs Web Kinerja Tinggi -

... dalam beberapa situasi, ada baiknya mengambil banyak sumber daya yang sedang diunduh pada satu domain dan membaginya ke beberapa domain. Saya menyebut domain ini sebagai pecahan. Melakukan ini memungkinkan lebih banyak sumber daya untuk diunduh secara paralel, mengurangi waktu pemuatan keseluruhan halaman.

di tempat lain dia menulis ..

Browser membuka sejumlah koneksi per domain ... Memisahkan, atau membagi, permintaan di dua domain, dibandingkan dengan satu domain, menghasilkan halaman yang lebih cepat, terutama dalam IE 6 & 7

0
mvark