Поможет ли объединение файлов javascript ускорить работу сайта в IE8? - PullRequest
2 голосов
/ 20 сентября 2010

PageSpeed ​​и Yslow предлагают объединить файл javascripts, чтобы уменьшить HTTPRequest. Но это потому, что (я думаю) браузер pre ie8 имеет не более 2 подключений к серверу.

Но в настоящее время браузер имеет 6 серверных подключений, что означает, что он может загружать javascripts параллельно. Допустим, у нас есть 1 МБ JavaScript, мы должны разбить его на 6 различных файлов одинакового размера, чтобы получить максимальную скорость загрузки? Пожалуйста, дайте мне знать.

Micahel.S

Ответы [ 4 ]

3 голосов
/ 20 сентября 2010

Нет, потому что каждый HTTP-запрос включает издержки (меньше, если используется конвейерная обработка)

0 голосов
/ 20 сентября 2010

Разделение файлов на самом деле не будет иметь большого значения. Если вы хотите увидеть прирост производительности с точки зрения времени загрузки для вашей производственной среды, то я всегда использую YUI Compressor (http://developer.yahoo.com/yui/compressor/), чтобы уменьшить размер моего файла JS до минимума, а затем предоставьте сжатую версию js в браузеры, которые его поддерживают.

В среде разработки вы не должны слишком беспокоиться об этом. Просто разделите их логически в соответствии с их назначением, чтобы с ними было легче работать, а затем соберите их все в один файл, как только вы будете готовы, и оптимизируйте его для производства.

0 голосов
/ 20 сентября 2010

Ответ на ваш вопрос - нет. Однако при условии, что вы можете обслуживать свой контент в полностью изолированной среде, где используется только IE8 (например, в корпоративной сети), тогда ответ на ваш вопрос будет следующим: нет.

Так как вы не проектируете для IE6-7, я предполагаю, что вы находитесь в изолированной среде (в противном случае вы принимаете плохое проектное решение). В этой среде да, вы можете увидеть небольшие преимущества от разбивки файлов JavaScript, но я рекомендую против этого.

Почему? Поскольку вы оптимизируете скорость, я предполагаю, что вы помещаете JavaScript в конец тега body вашего HTML-документа, чтобы JS не блокировал загрузку DOM. Это фундаментальная практика, позволяющая загружать страницу быстрее. Однако, разместив контент в нижней части тела, ваш вопрос становится спорным. Так как DOM больше не блокируется тегами сценария, любые преимущества в скорости, которые вы могли бы получить, используя параллельную загрузку, будут потеряны для пользователя, поскольку они видят загрузку страницы до того, как браузер даже запросит файлы JavaScript.

tl; dr: практического преимущества в скорости для разбиения JS на несколько файлов для параллельной загрузки.

0 голосов
/ 20 сентября 2010

Большинство браузеров все равно будут кэшировать ваши файлы JavaScript, поэтому после первой загрузки страницы это не будет иметь значения.

Но вы должны разделить ваш JavaScript логически и таким образом, который больше всего поможет вам в разработкеТак как браузеры различаются по количеству одновременных подключений, которые они позволяют.

Для скорости вы можете запутать свой код (с помощью процедуры минимизации) и обслуживать его так, чтобы ни у одного человека не хватило бы терпения читать.

...