@Muvka

В чем преимущество подключения JS скриптов через скрипт?

Собственно вижу у многих учителей такой способ, что в конце файла вставляется js скрипт, который подключает все остальные js скрипты. Подскажите - чем этот способ лучше, чем просто подключение скриптов перед закрывающим тегом body вручную? Вот пример:
<script>var scr = {"scripts":[
		{"src" : "libs/modernizr/modernizr.js", "async" : false},
		{"src" : "libs/jquery/jquery-1.11.2.min.js", "async" : false},
		{"src" : "libs/waypoints/waypoints.min.js", "async" : false},
		{"src" : "libs/animate/animate-css.js", "async" : false},
		{"src" : "libs/plugins-scroll/plugins-scroll.js", "async" : false},
		{"src" : "js/common.js", "async" : false}
		]};!function(t,n,r){"use strict";var c=function(t){if("[object Array]"!==Object.prototype.toString.call(t))return!1;for(var r=0;r<t.length;r++){var c=n.createElement("script"),e=t[r];c.src=e.src,c.async=e.async,n.body.appendChild(c)}return!0};t.addEventListener?t.addEventListener("load",function(){c(r.scripts);},!1):t.attachEvent?t.attachEvent("onload",function(){c(r.scripts)}):t.onload=function(){c(r.scripts)}}(window,document,scr);
	</script>
  • Вопрос задан
  • 284 просмотра
Пригласить эксперта
Ответы на вопрос 5
Griboks
@Griboks
На самом деле, простое подключение лучше, нежели данный метод. На хабре недавно даже статья была, в которой выясняли, насколько быстрее будет загрузить один общий минимизированный закэшированный скрипт, чем подгружать много, пусть даже асинхронно.
Легче страница? Ага, как же. Вместо одной строчки вы написали десять.
Что за "async" : false? Тупой копипаст?
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Ни в чем.
Переходите на webpack, для сборки и подгрузки скриптов и прочих ассетов.
Ответ написан
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
Всё намного проще, чем пытаются описать все, кроме Сталкера.
Преимуществ 2:
1. При подключении через HTML скрипт грузится синхронно, то есть блокирует загрузку документа, что при больших скриптах заметно. А описанный способ делает асинхронную загрузку скриптов.
2. Возможность выполнения какого-то кода обратным вызовом (callback).

ВСЁ.
Ответ написан
Stalker_RED
@Stalker_RED
Можете подключать и вручную. Когда-нибудь вам надоест, и вы это автоматизируете (но это не точно).
Ответ написан
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Во-первых обычно при разворачивании проекта внешние скрипты прогоняются через минификаторы. Во-вторых - скрипты кешируются. Это даёт дополнительное ускорение при загрузке страницы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы