2010-12-20 19 views
7

Mam trudności z podjęciem decyzji, które podejście jest lepsze pod względem wydajności witryny.Wczytywanie kodu JavaScript: żądania HTTP -v- ładowanie asynchroniczne

Należy zainstalować wszystkie wymagane wtyczki jQuery w jednym pliku do umieszczenia na każdej stronie witryny LUB podzielić wtyczki na pojedyncze pliki i użyć metody jQuery.getScript() w celu załadowania ich w razie potrzeby.

Czy istnieją rzeczywiste korzyści przy ładowaniu skryptów asynchronicznie na jednym żądaniu http?

Wszystkie moje Javascript będą minified i spakowane gzipem.

Dzięki!

+0

Możesz być także zainteresowany LabJS - http://labjs.com –

+0

Jedynym sposobem, aby wiedzieć na upewnij się, że wypróbujesz oba i ** zmierzysz wyniki ** dla twojego konkretnego przypadku. – Day

+0

Mam zalety ładowania tylko jednego pliku js (z frameworkami ładowanymi przez CDN) - działa to w przeglądarkach komputerowych. Ale obawiam się, że coraz więcej stron jest dostępnych za pośrednictwem urządzeń mobilnych, które mają bardzo małe pamięci podręczne (iPhone ma 25k), co oznacza, że ​​zawsze będą musiały załadować ten jeden plik js. Czy tworzenie manifestu magazynu offline - dla osób obsługujących telefony komórkowe - może być pracą? – mindwire22

Odpowiedz

0

Jedna prośba będzie lepsza dla wydajności. Kropka. Jedynym minusem jest to, że za każdym razem, gdy jeden z plików się zmienia, całość się zmienia (i będzie musiała zostać pobrana ponownie). Wtyczki niewiele się zmienią, więc umieściłem wszystko (w miarę możliwości) w jednym pliku.

Umieść rdzeń jQuery również w tym pliku. A także twoje własne javascripts. Tylko upewnij się, że jest w odpowiedniej kolejności :)

+3

Niekoniecznie prawda; jeśli używane jest buforowanie długoterminowe (tak, że nie jest wysyłane żadne żądanie HTTP), to nie ma kary za wydajność i może to być wzrost wydajności (przetwarzanie tylko wymaganych skryptów, a strona ładuje się szybciej, ponieważ skrypty są pobierane tylko po renderowaniu strony). –

0

Wypróbuj wtyczkę YSlow do przeglądarki Firefox i wypróbuj różne konfiguracje.

To powiedziawszy, zminimalizowanie twojego js do jednego pliku byłoby łatwym sposobem z doskonałymi wynikami. Otrzymasz jeden plik i często jest on znacznie mniejszy niż suma części.

Powiązane problemy