Выбор ответа Middle Сборщики обновлено

Зачем отдельный чанк для зависимостей

Вопрос

Зачем сборщик выносит код из node_modules в отдельный чанк с хешем в имени?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Зависимости меняются реже кода, и их чанк останется в кеше. Хеш в имени файла зависит от содержимого.

Варианты ответа

  1. Чтобы браузер загружал зависимости раньше кода приложения и не ждал
  2. Зависимости меняются реже кода, и их чанк останется в кешеправильный ответ
  3. Так библиотеки не попадают под tree shaking и не ломаются
  4. Это требование лицензий open source к распространению

Разбор

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

  • Порядок загрузки определяется импортами и modulepreload, а не тем, что чанк отдельный.
  • Tree shaking работает и для кода из node_modules.
  • Лицензии не требуют отдельного файла.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме