Какова ценность использования Webpack с HTTP / 2

Я начинаю новый проект и пытаюсь думать об этом вперед. Я использовал Browserify в прошлом. Для моего нового проекта я хотел бы использовать либо Webpack, Rollup, либо SystemJS. Веб-пакет на сегодняшний день выглядит самым зрелым с множеством потрясающих функций.

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

 battmanz03 июн. 2016 г., 18:31
@ZephyrPellerin Эй, я должен получить ответ на свой вопрос, как могу! :)
 ŹV -01 июн. 2016 г., 00:02
Я нахожу несколько забавным то, что до тех пор, пока мы приписываем наши запросы о мнениях словами «Я хочу факты» (якобы факты о мнениях). «Оффтопный» патруль оставляет это так. Молодец @battmanz, хитрый пес!

Ответы на вопрос(1)

Решение Вопроса

TL; DR

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

Длинная версия:

Webpack (или любой другой пакет) может по-прежнему предоставлять значение в мире HTTP / 2, потому что, хотя HTTP / 2 допускает мультиплексированные, асинхронные, одновременные запросы от клиента к серверу, это не означает, что фактический сервер, к которому вы подключаетесь имеет неограниченную способность обрабатывать их или даже позволит им.

В кадре SETTINGS, отправляемом при подключении, большинство серверов ограничивают количество одновременных потоков до разумного значения, например 100. Это означает, что вы не можете выдавать более 100 одновременных запросов, что является проблемой, если у вас есть, например, большой разделенный Реагировать приложение с сотнями файлов JS.

Кроме того, во многих случаях у вас есть транзитивные зависимости между файлами javascript, и если вы не объедините все зависимости, вам понадобится много циклов обработки запросов, поскольку браузер обнаружит зависимости только при получении предыдущих ответов, отрицая HTTP / 2 преимущества. (В качестве альтернативы сервер может автоматически выдвигать зависимости, но это создает целый ряд других проблем).

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

 Sean Larkin06 сент. 2016 г., 05:50
И использование для AgressiveSplittingPlugingithub.com/webpack/webpack/tree/master/examples/...
 Sean Larkin06 сент. 2016 г., 05:44
Не говоря уже о AgressiveSplittingPlugin в Webpack 2: см.medium.com/webpack/webpack-http-2-7083ec3f3ce6#.zdo4juvgo

Ваш ответ на вопрос