Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Wszystkie skrypty w jednym pliku czy osobne pliki *.JS?
Forum PHP.pl > Forum > Po stronie przeglądarki
kukix
Witam.

Przeglądam sobie różne strony i patzre jak mają umieszczone skrypty JavaScript.

Dodatek do firebuga PAGESPEED proponuje umieszczanie wszystkich skryptów w ramach jak najmniejszej ilości plików.

Zaglądnełem do kodu kilku większych serwosxw np www.intymna.pl i tam są odnośniki do 22 plików *.js

Oba przypadki maja swoje plusy i minusy.
Prosze o informacje doświadczonych osób, w internecie sa różne sprzeczne informacje na ten temat.

sowiq
Cytat
Oba przypadki maja swoje plusy i minusy.

Ja nie widzę żadnych plusów dla wielu plików JS. Oczywiście pod warunkiem, że deweloperska wersja ma kod JS podzielony logicznie na wiele plików, a łączenie w jeden (i przy okazji kompresowanie) odbywa się automatycznie na serwerze.

Polecam do poczytania: http://browserdiet.com/ (zwłaszcza to: http://browserdiet.com/#minify-js i to: http://browserdiet.com/#combine-js )
kukix
Cytat(sowiq @ 27.03.2013, 15:31:53 ) *
Ja nie widzę żadnych plusów dla wielu plików JS. Oczywiście pod warunkiem, że deweloperska wersja ma kod JS podzielony logicznie na wiele plików, a łączenie w jeden (i przy okazji kompresowanie) odbywa się automatycznie na serwerze.

Polecam do poczytania: http://browserdiet.com/ (zwłaszcza to: http://browserdiet.com/#minify-js i to: http://browserdiet.com/#combine-js )



Plus jest taki, żem ożna łatwo powmieniac poszczeólne pliki na nowe wersje, obecnie sklejam je ręcznie do jednego pliku *.js

Dlaczego więc takie duże serwisy majądoączonych po 20 i więcej plików *.js?
sowiq
Cytat
Plus jest taki, żem ożna łatwo powmieniac poszczeólne pliki na nowe wersje, obecnie sklejam je ręcznie do jednego pliku *.js

Właśnie dlatego napisałem, że łączenie i wersjonowanie/zarządzanie cache przeglądarki powinno odbywać się automatycznie. Programista nie powinien się martwić o takie rzeczy.

Cytat
Dlaczego więc takie duże serwisy majądoączonych po 20 i więcej plików *.js?

Powodów może być kilka:
- pliki są ładowane z różnych serwerów (nawet jeśli wspólna domena mogłaby sugerować inaczej)
- kod JS jest podzielony na pliki pod względem funkcjonalności. Najpierw ładowane są mniejsze pliki, które wykonują najważniejsze funkcje. A dopiero później reszta bardziej opcjonalnych rzeczy z cięższych plików.
- używany jest framework/system, który domyślnie nie oferuje takiej możliwości
- mało ogarnięty lub nie przejmujący się wydajnością frontendu programista
Crozin
1. W środowisku deweloperskim powinieneś mieć wszystko osobno, w niezminiaturyzowanej. W środowisku produkcyjnym wrzucenie wszystkiego do jednego wora i skompresowanie będzie miało raczej same pozytywne skutki. Tutaj mogę polecić bibliotekę Assetic, która pozwoli Ci na dynamiczne generowanie JS dla środowiska produkcyjnego.
2. Dlaczego wiele serwisów nie korzysta z czegoś takiego? Bo zmniejszenie liczby zewnętrznych plików oraz ich wagi tak na prawdę nie ma aż tak dużego znaczenia.
viking
Prawda jest taka że większość progamistów nie przejmuje się kompresowaniem i zwłaszcza korzystając z jquery dodają jak leci poszczególne pluginy do strony przez co powstają takie potworki. Możesz pisać dwojako. Albo zwyczajnie kompesować i łączyć nie martwiąc się o nic, albo loadery AMD jak requirejs + kompresor r.js.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.