Bundle — это JavaScript, который ваш инструмент сборки упаковывает и отправляет в браузер. Он растёт в основном из-за зависимостей, дублированного кода и отправки кода, который странице пока не нужен.
Bundle — это JavaScript, который ваш инструмент сборки упаковывает и отправляет в браузер. Он растёт в основном из-за зависимостей, дублированного кода и отправки кода, который странице пока не нужен.
lodash ради одной функции подтягивает всё целиком.import _ from "lodash"; // ~70КБ — вся библиотека
import debounce from "lodash/debounce"; // ~2КБ — только нужная функция
Байты — небольшая проблема; парсинг и выполнение JS — большая. Браузер должен скачать, затем распарсить, скомпилировать и выполнить каждый байт в главном потоке — и это гораздо медленнее на среднем телефоне, чем на ноутбуке. Тяжёлый JS задерживает интерактивность и напрямую ухудшает INP и LCP.
«Просто добавь библиотеку» — вот как приложения тихо становятся медленными. Интервьюеры хотят видеть, что вы думаете о стоимости каждой зависимости и тянетесь к импортам отдельных функций, tree shaking и code splitting до того, как bundle раздуется — особенно потому, что телефоны ваших пользователей гораздо слабее вашей рабочей машины.
Библиотека вопросов для IT-собеседований с подробными ответами — от Junior до Senior.
Поддержать