Это действительно зависит от ситуации, устройства, аудитории и подключения к Интернету.
Например, мобильным устройствам требуется как можно меньше HTTP-запросов, так как они работают на более медленных соединениях, и каждое обратное соединение занимает больше времени.Вы должны зайти так далеко, как встроенные (base-64) изображения внутри файлов CSS.
Обычно я сжимаю основную платформу и js libs + css в один файл, каждый из которых кэшируется в CDN.Функции JavaScript или CSS, которые есть только на одной странице, я либо встроу, либо включу в свой собственный файл.Функциональность JS, которая не важна сразу, я перейду к нижней части страницы.Для всех файлов я установил удаленный заголовок HTTP expires, чтобы он всегда находился в кэше браузера (или до тех пор, пока я не обновлю их или он не будет удален при заполнении кэша).
Дополнительно, чтобы обойти ограничения загрузки, вы можетеиметь CNAMES, например images.yourcdn.com и scripts.yourcdn.com, чтобы пользователь мог загружать больше файлов параллельно.Даже если вы не используете CDN, вы должны размещать статический носитель на отдельном имени хоста (может указывать на то же поле), чтобы пользователь не отправлял куки, когда это не нужно.Это звучит как переполнение, но куки могут легко добавить дополнительные 4-8 КБ к каждому запросу.
В среде разработчика вы должны работать со всеми несжатыми и отдельными файлами, не нужно перемещать каждый плагин в один скрипт дляпример - это сложно поддерживать, когда есть обновления.У вас должен быть скрипт для объединения файлов перед тестированием и развертыванием.Это звучит как большая работа, но это то, что вы делаете для одного проекта и можете использовать для всех будущих проектов.
TL; DR: Зависит, но, как правило, подходит смесь обоих.«За исключением мобильных устройств, чем меньше HTTP, тем лучше.