पाठ 5 / 25

Plugins और extensions

Plugins के साथ Webpack functionality को extend करें।

Plugins बनाम loaders

Loaders specific file types को transform करते हैं। Plugins Webpack build lifecycle में hook करके broader tasks perform करते हैं। Plugins HTML files generate कर सकते हैं, CSS extract कर सकते हैं, code minify कर सकते हैं।

Common plugins

Production builds के लिए HtmlWebpackPlugin और MiniCssExtractPlugin use करें।

const HtmlPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
  plugins: [
    new HtmlPlugin({ template: './src/index.html' }),
    new MiniCssExtractPlugin({ filename: '[name].[contenthash].css' })
  ]
};

Output:

Generates index.html and extracts CSS to separate bundle

Plugin instantiation महत्वपूर्ण है

Plugins को 'new' के साथ instantiate करना जरूरी है। Plugins array को plugin instances मिलते हैं, classes नहीं।

त्वरित जाँच

त्वरित जाँच: Loaders और plugins के बीच मुख्य अंतर क्या है?

  • Loaders specific files को transform करते हैं; plugins build lifecycle में hook करते हैं।
  • Plugins files को process करते हैं; loaders lifecycle को extend करते हैं।
  • वे अलग तरीके से एक ही चीज करते हैं।
Answer

Loaders specific files को transform करते हैं; plugins build lifecycle में hook करते हैं। — Loaders individual files पर काम करते हैं, जबकि plugins Webpack compilation process में hook करते हैं।