Выбор ответа Middle Сборщики обновлено
Что мешает tree shaking
Вопрос
Какой импорт хуже всего поддаётся tree shaking?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: const = require('lodash'); .debounce(fn, 300);. Tree shaking опирается на статическую структуру ES-модулей: из import { x } видно, что взяли. require это обычный вызов функции в рантайме, объект модуля может использоваться как угодно, поэтому сборщик оставляет его целиком. - Именованный…
Варианты ответа
const _ = require('lodash'); _.debounce(fn, 300);правильный ответimport { debounce } from 'lodash-es';import debounce from 'lodash-es/debounce.js';import { debounce, throttle } from 'lodash-es'; debounce(fn);
Разбор
Tree shaking опирается на статическую структуру ES-модулей: из import { x } видно, что взяли. require это обычный вызов функции в рантайме, объект модуля может использоваться как угодно, поэтому сборщик оставляет его целиком.
- Именованный импорт из ESM-пакета вырезается хорошо.
- Импорт отдельного файла подтягивает только его.
- Два именованных импорта тоже статичны, остальное будет удалено.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.