webpack5零基础入门-6webpack处理图片资源

1.在webpack5中file-loader和url-loader为内置模块

通过在加载器中配置rule即可激活

复制代码
	{
                test: /\.(png|jpe?g|gif|webp)$/,
                type: 'asset'
            }

2.使用webpack进行打包

执行npx webpack

可以看到图片资源打包后都被放到了dist文件目录下

3.使用webpack进行图片格式转换为base64

优势:base64格式能被浏览器直接识别,无需额外发起请求

劣势:图片体积会变大,图片越大体积增加越多,越小增加越少,所以大图片不能转成 base64,小图片可以。

配置:

复制代码
{
                test: /\.(png|jpe?g|gif|webp)$/,
                type: 'asset',
                parser: {
                    dataUrlCondition: {
                        //小于200kb的图标转base64,减少请求数量
                        maxSize: 200 * 1024 // 200kb
                    }
                }
            }

配置parser属性下的dataUrlCondition属性即可根据设置的规则将图片资源转换为base64格式

这里为了测试将maxSize设置成200kb

重新打包

可以发现图片资源都没了,都打包成了base64格式的字符串了

相关推荐
一拳小和尚LXY4 分钟前
我开发了一款免费 Chrome 插件 TabScribe:一键复制所有标签页为 Markdown/JSON,完全离线零追踪
前端·chrome·json
dust_and_stars5 分钟前
ubuntu24上安装chrome和edge浏览器
前端·chrome·edge
恋猫de小郭6 分钟前
Android 官方给 Compose 搞了个不需要 UI 环境的 Composable
android·前端·flutter
老王以为34 分钟前
我的多屏编程工作流:从切窗口到空间锚定
前端
夕除40 分钟前
shizhan--10
java·开发语言
Zhang~Ling43 分钟前
C++ 红黑树封装:myset和mymap的底层实现
开发语言·数据结构·c++·算法
旺王雪饼 www44 分钟前
localStorage 和 sessionStorage区别与联系
服务器·前端·javascript
原来是猿1 小时前
为什么 C++ 需要区分左值和右值?
开发语言·c++
xier_ran1 小时前
【infra之路】PagedAttention
java·开发语言
道友可好1 小时前
Superpowers vs OpenSpec vs Spec Kit:该选哪个?
前端·人工智能·后端