У меня такая же ситуация в моем проекте, десятки общих сценариев, и у каждой страницы есть свой дополнительный набор.Я использую эту опцию:
Page 1: A
Page 2: ABC, DE
Page 3: ABC, XY
Да, вероятно, было бы лучше иметь ABCDE, и тогда у вас есть один http-запрос, но это сделает поддержку немного сложнее (нужно помнить, чтобы добавить новый общий скриптна все страницы), поэтому не делайте этого, пока вы действительно не увидите, что ваш сервер страдает от количества запросов.Преждевременная оптимизация - это зло!
Другая проблема: браузер может загружать 2 файла скрипта из одного домена одновременно (некоторые из новых браузеров даже увеличили это число), поэтому клиентская сторона не будет заблокирована в ожидании загрузки скриптов.Таким образом, использование такого подхода не должно быть проблемой, и вы по-прежнему можете поддерживать его простым способом.
Также вы можете подумать о библиотеке, которая может его автоматизировать.Для Java вы можете взглянуть на Jawr , я не знаю, какова ваша серверная сторона, так что просто посмотрите на его возможности и найдите что-то похожее для вашей среды.
ADD-ON: всплывает только одна проблема, с помощью Jawr мы можем использовать режим «отладки», что означает, что все файлы будут отправляться отдельно, и это хорошо для разработки.В производстве мы устанавливаем jawr.debug.on = false
, и он использует связки.
Другими словами, при разработке приложения:
Page 1: A
Page 2: A, B, C, D, E
Page 3: A, B, C, X, Y
на производстве мы используем ABC ... это делается просто путем изменения конфигурации jawr, и imho, это лучший путь.Если вы используете Java, вы можете потратить некоторое время, играя с ним, в противном случае действительно стоит найти подобный фреймворк / библиотеку.