Webpack
Webpack — это статический сборщик модулей для современных JavaScript приложений. Он анализирует зависимости проекта и создает один или несколько бандлов.
Основные концепции Webpack
- Entry — точка входа в приложение
- Output — куда и как выводить собранные файлы
- Loaders — преобразователи для различных типов файлов
- Plugins — расширения функциональности
- Mode — режим сборки (development/production)
Популярные Loaders
- babel-loader — транспиляция ES6+ в ES5
- css-loader — обработка CSS файлов
- file-loader — обработка файлов (изображения, шрифты)
- sass-loader — компиляция Sass/SCSS
- ts-loader — компиляция TypeScript
Полезные Plugins
- HtmlWebpackPlugin — генерация HTML файлов
- MiniCssExtractPlugin — извлечение CSS в отдельные файлы
- CleanWebpackPlugin — очистка папки сборки
- DefinePlugin — определение глобальных переменных
Пример конфигурации
1const path = require('path');
2
3module.exports = {
4 entry: './src/index.js',
5 output: {
6 path: path.resolve(__dirname, 'dist'),
7 filename: 'bundle.js'
8 },
9 module: {
10 rules: [
11 {
12 test: /\.css$/,
13 use: ['style-loader', 'css-loader']
14 },
15 {
16 test: /\.js$/,
17 exclude: /node_modules/,
18 use: 'babel-loader'
19 }
20 ]
21 }
22};
Установка и настройка
Команды для работы
FAQ
Зачем нужен Webpack, если есть другие сборщики?
Webpack предоставляет мощную систему плагинов и лоадеров, поддержку code splitting и hot module replacement.
В чем разница между Webpack и Vite?
Vite быстрее в разработке благодаря ES-модулям, но Webpack более гибкий и имеет богатую экосистему плагинов.