Оптимизиране на js за производство - Много малки или един голям js файл

Имам приложение AngularJS, което се стремя да оптимизирам за скорост.

В момента украсявам и обединявам всички мои bower_components, които ми трябват, във файл vendor.js.

В момента украсявам и обединявам всичките си персонализирани js в scripts.js файл.

Като такъв, когато потребител изтегли страница, има много малко ресурси в заявката за получаване. (В момента общо 6 без изображения). Недостатъкът е, че имам два големи js документа за изтегляне - около половин мегабайт общо - Целият документ трябва да бъде изтеглен, преди да може да се направи изобразяване на страница.

Основното ми притеснение е с файла vendor.js. По-добре ли е да използвам предоставени cdn минимизирани javascript файлове (общо около 10), или е по-добре да използвам моя конкатениран и uglified vendor.js?

Първото би означавало, че общите ресурси ще се увеличат до 16 без изображения, но те ще бъдат обслужвани от CDN мрежи, предоставени от различни доставчици, което позволява паралелно изтегляне.


person Gravy    schedule 18.06.2014    source източник
comment
Както винаги с този вид въпроси за оптимизиране, ще разберете само като го изпробвате и профилирате резултатите. Дори тогава мрежовите закъснения може да затруднят получаването на последователен отговор.   -  person    schedule 18.06.2014
comment
възможен дубликат на Трябва ли да копирам всичките си източници на JavaScript в един файл?   -  person rpax    schedule 18.06.2014


Отговори (1)


Въпреки че първото би позволило паралелно изтегляне, това са 16 различни TCP връзки с вграден HTTP, така че се изпращат и 16 HTTP заглавки. TCP е малко скъп за отваряне на нови връзки. Така че мисля, че може да е по-добре да агломерирам всичко само в един файл.

Това, което можете да направите, е да тествате и двата регистъра и да видите в инструментите за мрежови разработчици на вашия любим уеб браузър, за да видите средно кой е най-бързият начин. Поне възможно с Firefox.

person Elioty    schedule 18.06.2014