webpack5(三)-- 图片/资源处理

发布日期:2020-10-11 阅读量:1152

   webpack5中已经内置了file-loader和url-loader,只需要简单配置就可以实现图片资源处理

    module.exports = {
      module: {
        rules: [
          {
            test: /.(png|jpe?g|gif|webp|svg)$/i, // 匹配图片资源
            type: 'asset', // asset 在导出一个 data URI 和发送一个单独的文件之间自动选择。之前通过使用 url-loader,并且配置资源体积限制实现
            parser: {
                dataUrlCondition: { 
                    // 小于10kb的图片转为base64
                    // 优点:减少请求,缺点:提交变大
                    maxSize: 10 * 1024 
                }
            },
            generator: {
                // 输出路径
                filename: 'static/[hash][ext][query]'
            }
          },
          {
            test: /.(ttf|woff2?|mp3|mp4|avi)$/i, // 匹配静态资源文件,不做任何处理只移动
            type: 'asset/resource',
            generator: {
                // 输出路径, 取hash前10位
                filename: 'static/[hash:10][ext][query]'
            }
          }
        ]
      }
    };