Я понимаю, что объединение позволяет вытягивать с сервера меньше файлов зависимостей. Однако, если размер файла этого одного связанного файла зависимости совпадает с размером связанных файлов. Почему это должно быть быстрее?
Я читал о концепции разделения пакета, но разве нам не нужно указывать пакет в основном html-файле (который я понимаю как страницу, на которую пользователь попадает впервые)?
(Извините, если вопрос сформулирован неправильно. Я очень запутался во всей концепции комплектации и не знаю, как сделать вопрос более конкретным.)


Если ваше javascript-приложение имеет только одну сборку, то весь ненужный код загружается при загрузке даже первой страницы. мы можем использовать асинхронные возможности, предоставляемые js, и загружать фрагменты (модули, созданные в результате разделения кода) по запросу. Предположим, если на моей первой странице есть только некоторая информация, а также я показываю всплывающее окно при нажатии какой-либо кнопки на второй странице, тогда мне не нужно вызывать код всплывающего окна вместе с первой страницей, но я могу загрузить этот пакет всплывающих окон в будущем на любой условной основе. В дополнение к этому, конечно, наш пакет должен быть ауглифифицирован, минимизирован и заархивирован.
Хотя вы можете минимизировать свой код, даже если он не связан, объединение вашего кода допускает намного больше минификации, что, в свою очередь, приводит к более быстрое время загрузки.
Например, у вас есть два файла, file1.js и file2.js. file1.js использует глобальную функцию из file1.js.
Минификация файлов по отдельности требует, чтобы имена функций в file1 и file2 оставались прежними, потому что минификатор не мог знать, какая функция была вызвана в file2 (если она была минимизирована) во время минификации file1.
Объединение файлов и их минимизация, с другой стороны, позволяет минификатору переименовывать каждое вхождение функции или переменной, что делает ваш код намного меньше.
Кроме того, как сказал @gauraysingh, упаковщик может удалить неиспользуемый код, например, функции. Например, предположим, что вы используете jQuery в своем приложении. Когда вы связываете свой код, упаковщик и минификатор могут удалить все неиспользуемые методы jQuery, а это означает, что вы значительно сэкономите на размере файла.
Выполнение всего одного HTTP-запроса к вашему связанному коду выполняется быстрее и использует меньше данных, чем выполнение нескольких запросов.
@ qsi14 отчасти из-за других преимуществ, а отчасти потому, что меньше HTTP-запросов означает, что меньше HTTP-рукопожатий, и поэтому это занимает меньше времени.
Является ли использование меньшего объема данных для HTTP-запросов для связанного кода результатом других преимуществ объединения, таких как минимизация?