Как установить Webpack пошагово: от нуля до первого сборщика для современного JavaScript

Детальное пошаговое руководство по установке и начальной настройке сборщика Webpack для JavaScript-проектов. Включает установку пакетов, создание конфигурации, работу с loaders и plugins, а также настройку dev-сервера.
Webpack остается одним из самых мощных и востребованных инструментов для сборки современных JavaScript-приложений. Несмотря на появление альтернатив вроде Vite или Parcel, его гибкость, зрелость и огромная экосистема делают его обязательным к изучению для фронтенд-разработчика. Данное пошаговое руководство проведет вас через процесс установки и базовой настройки Webpack в новом проекте, объясняя ключевые концепции на практике.

Предварительные требования. Убедитесь, что на вашей системе установлен Node.js (рекомендуется LTS-версия) и менеджер пакетов npm (он идет в комплекте) или yarn. Проверить это можно командами `node -v` и `npm -v` в терминале. Создайте новую директорию для проекта, откройте ее в терминале и инициализируйте файл `package.json` с помощью команды `npm init -y`. Флаг `-y` согласится со значениями по умолчанию, что подходит для нашего учебного примера.

Шаг 1: Установка Webpack. Устанавливаем два основных пакета: сам сборщик `webpack` и интерфейс командной строки `webpack-cli`, который позволяет запускать его из терминала. Рекомендуется устанавливать их как зависимости для разработки (`devDependencies`), так как они не нужны в production-сборке. Выполните команду: `npm install --save-dev webpack webpack-cli`. После завершения установки вы увидите, что в `package.json` добавился раздел `devDependencies`, а в проекте появилась папка `node_modules`.

Шаг 2: Базовая структура проекта. Создайте простейшую структуру файлов. В корне проекта создайте папку `src` — это будет исходный код. Внутри `src` создайте файл `index.js`. Это точка входа нашего приложения. Добавьте в него простой код, например: `console.log('Hello from Webpack!');`. Также можно создать простой HTML-файл `index.html` в корне проекта (пока без сложностей), чтобы позже подключить к нему собранный скрипт.

Шаг 3: Первая сборка без конфигурации. Webpack имеет конфигурацию по умолчанию. Если точка входа — `src/index.js`, а выход должен быть в `dist/main.js`, то можно просто запустить сборку. Добавьте в раздел `scripts` файла `package.json` следующую строку: `"build": "webpack"`. Теперь, выполнив в терминале `npm run build`, вы запустите процесс. Webpack создаст папку `dist` и поместит в нее минифицированный (в production-режиме) файл `main.js`. Вы только что выполнили свою первую сборку!

Шаг 4: Создание конфигурационного файла. Для реальных проектов конфигурация по умолчанию недостаточна. Создайте в корне проекта файл `webpack.config.js`. Это обычный JavaScript-модуль, который экспортирует объект с настройками. Базовая конфигурация включает в себя указание режима (`mode`), точки входа (`entry`) и пути для выходных файлов (`output`). Пример:
```
const path = require('path');
module.exports = {
 mode: 'development', // или 'production'
 entry: './src/index.js',
 output: {
 filename: 'bundle.js',
 path: path.resolve(__dirname, 'dist'),
 },
};
```
Теперь, запустив `npm run build`, Webpack будет использовать эту конфигурацию и создаст файл `dist/bundle.js`. Режим `development` отключает минификацию и включает полезные для отладки инструменты.

Шаг 5: Работа с загрузчиками (Loaders). Webpack по умолчанию понимает только JavaScript и JSON. Чтобы обрабатывать CSS, изображения, TypeScript или Vue-компоненты, нужны загрузчики. Установим загрузчики для CSS: `npm install --save-dev css-loader style-loader`. `css-loader` позволяет импортировать CSS-файлы в JS, а `style-loader` вставляет стили в DOM. Добавим правило в конфиг в свойство `module.rules`:
```
module: {
 rules: [
 {
 test: /\.css$/i,
 use: ['style-loader', 'css-loader'],
 },
 ],
},
```
Теперь создайте файл `src/style.css`, добавьте в него стили и импортируйте его в `index.js` строкой `import './style.css';`. После сборки стили будут применены.

Шаг 6: Использование плагинов (Plugins). Плагины выполняют более широкий круг задач, чем загрузчики. Самый полезный — `HtmlWebpackPlugin`, который автоматически создает HTML-файл и подключает в него все собранные скрипты. Установите его: `npm install --save-dev html-webpack-plugin`. Добавьте в начало конфига: `const HtmlWebpackPlugin = require('html-webpack-plugin');`, а в секцию `plugins` добавьте `new HtmlWebpackPlugin({ title: 'My Webpack App' })`. Теперь после сборки в `dist` появится готовый `index.html`.

Шаг 7: Настройка Dev Server для разработки. Постоянно пересобирать проект вручную неудобно. Установите `webpack-dev-server`: `npm install --save-dev webpack-dev-server`. Добавьте в `package.json` скрипт: `"start": "webpack serve --open"`. В конфигурацию можно добавить свойство `devServer: { static: './dist', hot: true }`. Теперь команда `npm start` запустит локальный сервер с горячей перезагрузкой (Hot Module Replacement), что кардинально ускорит разработку.

Это базовая установка и настройка. Дальнейшие шаги включают в себя настройку обработки других типов файлов (изображения, шрифты), разделения кода (code splitting), оптимизацию для production и интеграцию с фреймворками вроде React или Vue. Однако пройденных семи шагов достаточно, чтобы создать рабочую среду для сборки современного фронтенд-приложения и понять основной принцип работы Webpack: он начинает с точки входа, строит граф зависимостей из всех импортируемых модулей и преобразует их в один или несколько бандлов, готовых к использованию в браузере.
253 4

Комментарии (5)

avatar
fayt3xshu7 01.04.2026
Хороший базовый гайд, но хотелось бы больше про сравнение с тем же Vite. Когда всё-таки выбирать Webpack в 2024?
avatar
vja3gmpa 02.04.2026
Статья полезная, но для полной картины не хватает пары слов про настройку loaders для CSS или изображений в рамках этой первой сборки.
avatar
963nru 02.04.2026
Отличная статья для новичков! Всё разложено по полочкам, особенно ценно объяснение ключевых концепций, а не просто набор команд. Спасибо!
avatar
m8c1lzsh8 02.04.2026
Наконец-то нашёл инструкцию, где не нужно рыться в десяти источниках. Всё с нуля и без воды. Автору респект!
avatar
n9pzy0rs7iw 04.04.2026
Как senior dev, подтверждаю — понимание Webpack критически важно. Даже используя другие инструменты, эти знания помогают глубже понять процесс сборки.
Вы просмотрели все комментарии