Я согласен с предыдущим ответом, логическое подразделение должно быть сделано программистом.Кроме того, я полагаю, что не было бы никакого преимущества в разбивке файла на большее количество файлов, без удаления чего-либо, поскольку вы только получили бы некоторые издержки веб-передачи.
Кстати, ответить на вопрос, не спрашивая... на самом деле вы могли бы.
Большинство распространенных библиотек JS состоят из одного объявления огромного объекта, фактически являющегося единственным скриптовым оператором верхнего уровня, как в
libraryname = {
fn1: function() { /* do something */ },
fn2: function() { /* do something else */ },
fn3: function() { /* do something else */ }
}
Этопричина, по которой вы не можете тривиально разделить файл на два допустимых файла сценария.
Код можно в любом случае разбить на допустимые куски, отличные от js, если их объединить перед выполнением.Просто разбейте код на множество текстовых файлов, извлеките их отдельно, затем объедините строки в правильном порядке и затем загрузите их на страницу.Загрузка может быть выполнена несколькими способами, в зависимости от того, чего вы хотите достичь.Вы можете либо создать новый элемент скрипта и добавить его к элементу head, либо вызвать для него eval.
Код может выглядеть примерно так (даже если его можно оптимизировать):
function loadScript(name, n) {
var chunks = new Array(n);
for(var i=0; i<n; i++)
chunks[i] = getChunk(name, i); // simple blocking ajax call retrieving chunk content
var script = document.createElement('script');
script.type = 'text/javascript';
script.innerHTML = chunks.join('');
document.getElementsByTagName('head')[0].appendChild(script);
}