Современные браузеры загружают скрипты параллельно или последовательно?

Я оцениваю существующие ресурсы для оптимизации загрузки script, но я читал в некоторых статьях, таких как this, относится к более раннему блоку браузеров другие загрузки до тех пор, пока эта последовательная фаза загрузки script не будет завершена. Я проверяю Modernizr (yepnope.js), headjs и ControlJs как кандидатов. Но нужно ли использовать эти инструменты для параллельной загрузки script в современных браузерах?

Ответ 1

Я считаю, что по умолчанию большинство браузеров сегодня фактически загружают скрипты параллельно; но браузер по умолчанию не будет выполнять скрипты параллельно. Например, в следующем коде скрипты будут загружаться параллельно. На изображении мы видим, что Fast1.js и Fast2.js загружаются очень быстро, но в зависимости от времени в консоли браузера Fast2.js выполняется через 3 секунды после выполнения Fast1.js.

Кроме того, что-то еще нужно иметь в виду, так это то, что порядок файлов может иметь значение. Файл Backbone.js зависит от файла underscore.js. Если мы изменили порядок этих файлов, где bacbone.js перед underscore.js, будет поднята ошибка.

<html >
<head>
    <title></title>
    <script src="scripts/fast1.js" type="text/javascript"></script>
    <script src="scripts/libs/jquery-1.8.3.js" type="text/javascript"></script>
    <script src="scripts/libs/underscore.js" type="text/javascript"></script>
    <script src="scripts/libs/backbone.js" type="text/javascript"></script>
    <script src="scripts/fast2.js" type="text/javascript"></script>
</head>
<body>
    Hello
    <script type="text/javascript">
        console.log("html:   " + Date());
    </script>
    <img src="imgs/bImg.png" />
</body>
</html>

Здесь код для файла JavaScript Fast1.js и Fast2.js

console.log("Fast 1: " + Date())

Script file loading in browser

При загрузке Script я использую Require.js. Это также дает возможность организовать ваш код в модули, которые находятся в отдельных файлах.

Вот сообщение в блоге, которое я создаю в браузере Script Загрузка: Браузер Script Загрузка

Вот несколько статей по Script погрузка:

Ответ 2

Большинство браузеров загружают их последовательно. Однако есть атрибут async, который можно поместить в тег script, чтобы вызвать его по-разному.

MDN объясняет, что тег script работает очень хорошо.

https://developer.mozilla.org/en-US/docs/HTML/Element/Script