Webpack — сборщик модулей для JavaScript. Его основная задача — упаковать JS-файлы для использования в браузере, но он также умеет преобразовывать, объединять и упаковывать практически любые ресурсы и ассеты проекта.
Инструмент собирает модули ES Modules, CommonJS и AMD — в том числе смешанные в одном проекте. Можно получить один общий бандл или несколько чанков, которые подгружаются асинхронно во время выполнения и сокращают время первой загрузки.
Зависимости разрешаются на этапе компиляции, что уменьшает размер рантайма. Загрузчики (loaders) обрабатывают файлы при сборке: TypeScript в JavaScript, шаблоны Handlebars в функции, изображения в Base64 и многое другое.
Богатый плагинный интерфейс делает сборщик очень гибким: большинство возможностей самого webpack построены на этом же механизме. Среди популярных дополнений:
mini-css-extract-plugin— выносит CSS в отдельные файлыcompression-webpack-plugin— готовит сжатые версии ассетовhtml-webpack-plugin— упрощает создание HTML-файловpug-plugin— рендерит Pug в HTML с извлечением JS и CSS
Поддерживаются все браузеры, совместимые с ES5. IE8 и более ранние версии не поддерживаются; для старых браузеров потребуется полифил.
Начать работу помогает руководство Get Started и остальные разделы документации. Проект развивается техническим комитетом (TSC) и командой основных участников, а вклад сообщества приветствуется.
GitHub ★ 65,883
