Webpack में CSS बंडल्स में एसेट्स

आइए अब ऐसा करें कि .png फाइलों के पथ CSS फाइलों में बिल्ड के समय बदल जाएँ:

webpack.config.jsexport default {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve('dist')
  },
  module: {
    rules: [
      {
        test: /\.png$/,
        type: 'asset/resource'
      },
      {
        test: /\.css$/i,
        use: [MiniCssExtractPlugin.loader, 'css-loader'],
      },
    ]
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: 'bundle.[contenthash].css'
    }),
    new HtmlWebpackPlugin(),
  ],
};

आइए जाँच करें कि यह कैसे काम करता है। एंट्री पॉइंट से एक इमेज फाइल और स्टाइल्स फाइल को इम्पोर्ट करें:

src/index.jsimport './images/img.png';
import './styles.css';

मान लीजिए कि स्टाइल्स फाइल में हम इमेज के पथ का उपयोग करते हैं:

src/styles.cssbody {
  background: url('images/img.png');
}

बिल्ड के बाद CSS बंडल में इमेज का पथ नए में बदल जाएगा:

dist/bundle.ec64ceadef9be2621b7f.cssbody {
  background: url('रूट से सही पथ');
}
Задание 1

CSS फाइल में बैकग्राउंड इमेज सेट करें।

Задание 2

इमेज को एंट्री पॉइंट से इम्पोर्ट करें।

Задание 3

बिल्ड करें और देखें कि इमेज किस फाइल में कॉपी होती है और CSS बंडल में नया पथ कैसा दिखता है।