Имейте массив, который содержит ссылку на ваши файлы сценариев, а затем у вас есть два варианта либо использовать $.getScript() для загрузки каждого из них, либо путем создания HTML-кода из него и добавления его в свой тег head
или body
. Я предпочитаю тег head
, чтобы сохранить все скрипты и файлы css.
Ваш массив сценария файлы
var JsFiles = ["script1.js","script2.js","script3.js","script4.js"];
Первый подход с использованием$.getScript()
JsFiles.each(function(i,v){
$.getScript(JsFiles[i], function(data, textStatus, jqxhr){
console.log(textStatus); // Success
});
});
Недостаток описанного выше подхода заключается в том, что getScript
делает асинхронной вызовы к файлам скриптов это означает, что если script2.js
зависит от script1.js
(например, если script1.js
- это некоторый файл плагина, который использует инициализацию в script2.js
). Тогда вы столкнетесь с проблемами.
Преодолеть вы, возможно, придется затем использовать Promises
или написать функцию обратного вызова на каждой функции успеха getScript
, которая вызовет следующий сценарий нагрузки и так далее ..
Если порядок загрузки сценария не имеет значения, то выше подход хорошо идти.
Второй подход построения HTML
var scriptTags ="";
JsFiles.each(function(i,v){
scriptTags += "<script src='"+ JsFiles[i] +"'></script>";
});
$('head').append(scriptTags);
Хорошая вещь об этом подходе является то, что файлы сценариев теперь будет загружать синхронно, и вы не столкнетесь с проблемой зависимости. Но убедитесь, что независимые файлы начинаются с первого, и, наконец, появляются зависимые файлы.
http://stackoverflow.com/questions/950087/how-to-include-a-javascript-file-in-another-javascript-file – Pang