Как объединение повышает производительность?

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

Я читал о концепции разделения пакета, но разве нам не нужно указывать пакет в основном html-файле (который я понимаю как страницу, на которую пользователь попадает впервые)?

(Извините, если вопрос сформулирован неправильно. Я очень запутался во всей концепции комплектации и не знаю, как сделать вопрос более конкретным.)

Поиск всех неиспользуемых файлов в проекте
Поиск всех неиспользуемых файлов в проекте
Количество файлов в проекте растет по мере его развития. И если быть по-настоящему честным, их продвижение происходит в геометрической прогрессии...
Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
1
0
378
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Если ваше javascript-приложение имеет только одну сборку, то весь ненужный код загружается при загрузке даже первой страницы. мы можем использовать асинхронные возможности, предоставляемые js, и загружать фрагменты (модули, созданные в результате разделения кода) по запросу. Предположим, если на моей первой странице есть только некоторая информация, а также я показываю всплывающее окно при нажатии какой-либо кнопки на второй странице, тогда мне не нужно вызывать код всплывающего окна вместе с первой страницей, но я могу загрузить этот пакет всплывающих окон в будущем на любой условной основе. В дополнение к этому, конечно, наш пакет должен быть ауглифифицирован, минимизирован и заархивирован.

Ответ принят как подходящий

Преимущества объединения

Минификация

Хотя вы можете минимизировать свой код, даже если он не связан, объединение вашего кода допускает намного больше минификации, что, в свою очередь, приводит к более быстрое время загрузки.

Например, у вас есть два файла, file1.js и file2.js. file1.js использует глобальную функцию из file1.js.

Минификация файлов по отдельности требует, чтобы имена функций в file1 и file2 оставались прежними, потому что минификатор не мог знать, какая функция была вызвана в file2 (если она была минимизирована) во время минификации file1.

Объединение файлов и их минимизация, с другой стороны, позволяет минификатору переименовывать каждое вхождение функции или переменной, что делает ваш код намного меньше.

Кроме того, как сказал @gauraysingh, упаковщик может удалить неиспользуемый код, например, функции. Например, предположим, что вы используете jQuery в своем приложении. Когда вы связываете свой код, упаковщик и минификатор могут удалить все неиспользуемые методы jQuery, а это означает, что вы значительно сэкономите на размере файла.

Меньше HTTP-запросов

Выполнение всего одного HTTP-запроса к вашему связанному коду выполняется быстрее и использует меньше данных, чем выполнение нескольких запросов.

Является ли использование меньшего объема данных для HTTP-запросов для связанного кода результатом других преимуществ объединения, таких как минимизация?

qsi14 04.04.2019 21:13

@ qsi14 отчасти из-за других преимуществ, а отчасти потому, что меньше HTTP-запросов означает, что меньше HTTP-рукопожатий, и поэтому это занимает меньше времени.

Ben Gubler 05.04.2019 00:27

Другие вопросы по теме