Assets ทั่วไปใน Webpack

ตอนนี้ลองมาทดสอบใช้ assets ทั่วไปกัน มาทำให้รูปภาพที่มีขนาดน้อยกว่า 8kb ถูกแปลงเป็น base64 ส่วนรูปภาพที่มีขนาดใหญ่กว่า ค่านี้ให้คัดลอกไปเป็นไฟล์:

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

เราสามารถเปลี่ยนขีดจำกัดขนาดของ รูปภาพได้ ตัวอย่างเช่น กำหนดขีดจำกัด ที่ 4kb:

webpack.config.jsexport default {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve('dist'),
  },
  module: {
    rules: [
      {
        test: /\.png$/,
        type: 'asset',
        parser: {
          dataUrlCondition: {
            maxSize: 4 * 1024 // 4kb
          }
        }
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin(),
  ],
};
Задание 1

ให้เชื่อมต่อรูปภาพหลายๆ รูปที่มีขนาดต่างกัน ไปยัง entry point ตรวจสอบว่า การแปลงประเภทใดถูกนำไปใช้ กับรูปภาพแต่ละรูป