← Ко всем open source проектам

webpack

webpack/webpack

webpack — сборщик JavaScript-модулей и веб-ресурсов для сложных клиентских приложений.

Форки 9,353
Автор webpack
Язык JavaScript
Лицензия MIT
Обновлено 2026-06-20

Что это такое

webpack — сборщик модулей для веб-проектов. Он берет входную точку приложения, строит граф зависимостей и превращает JavaScript, CSS, изображения и другие ресурсы в набор файлов, которые можно отдать браузеру.

Проект стал одним из ключевых инструментов эпохи больших клиентских приложений. Когда интерфейсы начали состоять из модулей, компонентов, стилей, изображений и динамически загружаемых частей, понадобился инструмент, который понимает весь этот граф.

Как работает модель

Главная идея webpack — все, что импортируется приложением, становится частью графа. JavaScript импортирует модуль, модуль импортирует CSS, компонент ссылается на изображение, а сборщик решает, какие файлы создать и как связать их между собой.

Механика строится вокруг точек входа, загрузчиков, плагинов и оптимизаций. Загрузчики объясняют, как обработать разные типы файлов, а плагины расширяют поведение сборки: от генерации HTML до разделения кода и анализа размера пакетов.

Базовая конфигурация

Пример показывает основу: одна точка входа, выходной файл и правило для CSS. В реальном проекте рядом обычно появляются плагины, разделение кода и настройки окружений.

Язык: JavaScript
const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'app.[contenthash].js',
    path: path.resolve(__dirname, 'dist')
  },
  module: {
    rules: [
      { test: /\.css$/i, use: ['style-loader', 'css-loader'] }
    ]
  }
};

Почему он важен

webpack дал командам способ описывать сборку как часть проекта, а не как набор разрозненных скриптов. Это особенно важно для приложений, где нужно разделять код, поддерживать разные окружения, подключать старые библиотеки и контролировать размер файлов.

Вокруг webpack выросла большая экосистема загрузчиков, плагинов и готовых конфигураций. Многие фреймворки и инструменты долго использовали его под капотом, поэтому понимание webpack помогает разбираться в старых и зрелых проектах.

Сильные стороны

Сильная сторона webpack — гибкость. Его можно настроить под необычную структуру приложения, старый код, несколько точек входа, сложные правила обработки файлов и собственные плагины.

Еще один плюс — зрелость. Для большинства распространенных задач уже есть документация, плагины, ответы и примеры, а многие проблемы были найдены задолго до нового проекта.

Ограничения

Гибкость webpack имеет цену: конфигурации могут становиться сложными. В маленьких проектах современный инструмент с готовыми настройками иногда оказывается проще.

Производительность сборки тоже зависит от конфигурации, числа загрузчиков, размера проекта и кеширования. Хороший webpack-проект требует внимания к структуре, а не только установки пакета.

Где используется

webpack особенно уместен в больших веб-приложениях, библиотеках, старых кодовых базах и проектах, где нужна точная настройка сборки.

Даже если новый проект стартует на Vite, esbuild или другом инструменте, webpack остается важным для сопровождения существующих приложений и понимания современной истории веб-сборки.