10 октября вышел Webpack 5. Разработчики Webpack сообщают, что работа над новой версией продолжается, и в ближайшее время команда будет заниматься исправлением багов и добавлением новой функциональности. Те, кто обновится до новой версии уже сейчас, смогут дать ценную обратную связь и поучаствовать в исправлении ошибок.
На чём сфокусирован релиз Webpack 5
При разработке новой версии команда Webpack сфокусировалась на следующем:
- Повышение скорости сборки благодаря Persistent Cashing
- Улучшение долгосрочного кэширования
- Оптимизация размеров бандлов с помощью Tree Shaking
- Улучшение совместимости с веб-платформами
- Очистка внутренних структур, которые оставались в подвешенном положении с момента внедрения тех или иных фич в четвёртой версии
- Подготовка к появлению новых фич — для этого сейчас выполнены критичные обновления. Это позволит в будущем использовать Webpack 5 как можно дольше
Основные изменения
Команда Webpack в числе основных изменений в пятой версии называет удаление элементов, отмеченных как устаревшие в четвёртой версии. Также появились новые устаревшие элементы. Например, при использовании require.include, который стал устаревшим, Webpack по умолчанию будет показывать предупреждение.
В новой версии удаляются автоматические полифилы для Node.js. Раньше Webpack фокусировался на возможности запуска большинства модулей Node.js в браузере. Сейчас ситуация изменилась, и многие модули создаются исключительно для использования на фронтенде.
У нас есть курс «JS: Настройка окружения», который научит вас готовить среду для разработки проектов. Начинайте учиться в удобное время — курс доступен сразу после регистрации!
Улучшение долгосрочного кэширования также отмечается среди основных изменений. Для этой цели добавлены новые алгоритмы, которые включены по умолчание в режиме production:
- chunkIds: "deterministic"
- moduleIds: "deterministic"
- mangleExports: "deterministic"
Эти алгоритмы присваивают цифровые идентификаторы и имена модулям, чтобы обеспечить возможность детерминированного экспорта.
Читабельные идентификаторы чанков, включённые по умолчанию в режиме разработки — ещё одно важное изменение в Webpack 5. А новая фича Module Federation позволяет нескольким сборкам работать вместе.
Информацию о других изменениях и их подробное описание можно найти в огромном посте, посвящённом релизу Webpack 5.
Справка
Webpack — сборщик модулей JavaScript. Он формирует готовый для загрузки в браузер файл или набор файлов. Webpack де-факто — стандартный инструмент сборки фронтенда. Подробнее о сборке фронтенда и Webpack читайте в нашем гайде «Зачем нужно собирать фронтенд».
Оригинал новости опубликован в блоге Хекслета.