Ответ
Плагины (Plugins) и модули (Modules) в Webpack выполняют разные функции:
Модули:
- Обрабатывают отдельные файлы (например,
.js,.css,.png) - Используют лоадеры (
rulesв конфиге) для трансформации файлов
module: {
rules: [
{ test: /.css$/, use: ['style-loader', 'css-loader'] }
]
}
Плагины:
- Работают на уровне всей сборки
- Выполняют сложные задачи: оптимизация, создание HTML-файлов и т.д.
plugins: [
new HtmlWebpackPlugin({ template: './src/index.html' })
]
Ключевое отличие: модули трансформируют файлы по одному, а плагины работают с результатом всей сборки.