Как комплектация улучшает производительность? - PullRequest
0 голосов
/ 03 апреля 2019

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

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

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

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Преимущества комплектации

минификация

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

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

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

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

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

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

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

0 голосов
/ 04 апреля 2019

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

...