Tree shaking
Tree shaking — стряхивание дерева
Суть в одном предложении
Tree shaking уменьшает размер бандла, удаляя код, который фактически не используется.
Краткое определение
Tree shaking — оптимизация сборки, при которой бандлер исключает неиспользуемые части модулей.
Оригинал и перевод
- Язык: английский
- Оригинал: Tree shaking
- Буквальный перевод: стряхивание дерева
Синонимы и варианты написания
- Dead code elimination
- Удаление мёртвого кода
Происхождение
Термин появился в экосистеме JavaScript с распространением ESM и статического анализа импортов.
Где используется
- Frontend-сборка
- Бандлеры (Webpack, Rollup, Vite)
- SPA и SSG проекты
Когда это важно
Особенно важно при больших зависимостях и критичных требованиях к размеру и скорости загрузки.
Подробное объяснение
Tree shaking работает эффективно, если:
- используются
import/export; - модули не имеют побочных эффектов;
- импорты точечные, а не «всё сразу».
При неправильной структуре пакетов оптимизация не срабатывает.
Аналоги и связанные термины
- Minification
- Side effects
- Code splitting
- Bundler
Пример использования
«Перешли на ESM — tree shaking убрал половину неиспользуемого кода.»
Мини-FAQ
- Tree shaking — это минификация? Ответ: Нет, минификация сжимает код, tree shaking удаляет лишний.
- Работает ли с CommonJS? Ответ: Ограниченно или вовсе не работает.
Смотри также
- Bundler
- Code splitting