webpack学习笔记(六):图片打包处理
本片文章将记录webpack
中如何处理图片的打包问题。在介绍图片打包处理之前,先说明一下引入图片的三种方式:
- 使用背景图片:将一个包裹图片的元素的
css
中的background
属性设置为图片路径 - 使用js导入:可以使用commonJS规范引入图片资源
const imgUrl = require('图片路径')
图片的dom对象.src=imgUrl
- 使用img标签:
<img src= '图片路径'>
使用背景图片
先准备一张图片资源:
index.html
中添加代码:
在index.css
中添加样式:
由于官网中介绍了在最新版的css-loader
中,可以支持对图片资源的处理,因此,单纯在webpack.config.js
中配置css-loader
就可以了。
如果不想使用css-loader
来处理url
对应的资源,可以配置:
{test: /\.css$/,use: ['style-loader', {loader: 'css-loader',options: {url: false}}]
}
使用js引入
若使用commonJS规范在入口文件中导入图片资源,首先index.html
中添加代码:
index.js
中添加代码:
这时需要下载包,url-loader
和file-loader
都可以处理图片:
webpack.config.js
文件中添加,使用url-loader
或者file-loader
都可以:
这样图片就可以正常显示了。
使用img标签
首先index.html
中添加:
这种方式需要用到html-loader
来处理,先下载:
配置:
我们可以观察到,打包后的图片是base64
编码格式的
这是因为网页中的每一张图片都需要发起一次网络请求,如果图片资源过多就会发起很多次的请求,这样会影响网站的性能。如果图片经过base64
处理,把图片资源打包进js
文件,就不用单独发起请求。但是并不能把所有图片都转换为base64
,图片太大的话其base64
编码太大,反过来也会影响网站性能。可以在url-loader
中设置limit
属性,它是图片是否进行base64
编码的阈值,如果小于等于这个值就可编码,大于这个值就不处理,单位是字节。
关于webpack
对图片资源的处理就到这了~
本篇笔记是看了B站up主“左耳击水兽”的讲解视频记录下来,感兴趣的同学可以直接看他视频哦。
webpack学习笔记(六):图片打包处理相关推荐
- webpack学习笔记1
webpack学习笔记1:基本概念 前言: 现在在日常的开发中,webpack已经是必不可少的东西了,现在的需求基本都是用webpack对资源进行打包整合,所以打算写一点关于webpack的东西,这是 ...
- opencv 手选roi区域_【opencv学习笔记六】图像的ROI区域选择与复制
图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...
- 【K210】K210学习笔记六——MaixHub在线模型训练识别数字
[K210]K210学习笔记六--MaixHub在线模型训练识别数字 前言 K210准备工作 数据的获取 MaixHub如何在线训练模型 训练模型在K210上的测试 小结 前言 本人大四学生,电赛生涯 ...
- Java学习笔记 六、面向对象编程中级部分
Java学习笔记 六.面向对象编程中级部分 包 包的注意事项和使用细节 访问修饰符 访问修饰符的注意事项和使用细节 面向对象编程三大特征 封装 封装的实现步骤(三步) 继承 继承的细节问题 继承的本质 ...
- webpack学习笔记(三):监听文件变化并编译
在上一篇webpack学习笔记中主要认识了webpack配置文件中相关的基础配置和命令的执行.这次学习如何在文件发生变化时自动打包编译. 首先,我们来看一下配置文件 const path = requ ...
- webpack学习笔记(二):认识配置和命令执行
在上一篇webpack学习笔记中,直接在命令行中使用npx webpack对项目进行打包时所使用的配置都是默认的,入口文件默认是src目录下的index.js文件,输出文件默认是dist文件夹下的ma ...
- Ethernet/IP 学习笔记六
Ethernet/IP 学习笔记六 EtherNet/IP defines two primary types of communications: explicit and implicit (Ta ...
- 吴恩达《机器学习》学习笔记六——过拟合与正则化
吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...
- ROS学习笔记六:理解ROS服务和参数
ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...
- JS学习笔记六:js中的DOM操作
1. JS学习笔记六:js中的DOM操作 文章目录 1. JS学习笔记六:js中的DOM操作 1.1. 获取Dom节点 1.2. 元素属性的操作方式 1.3. DOM节点的创建.插入和删除 1.4. ...
最新文章
- 跳出数据计算拯救人智能
- python 生成器_Python生成器的用法
- 特征选择算法java实现_relief算法特征选择
- arcgis已知两点投影坐标求距离
- 蓝桥杯2014c++真题:扑克序列(next_permutation)
- 南邮ctf mysql_南邮ctf知识点汇总 - Crypto篇
- OracleDG主库丢失归档增量同步
- 移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签)...
- DirectX 修复
- 5个小众视频素材网站,你知道吗?
- The project uses Gradle 4.1 which is incompatible with Java 11 or newer.
- Java实现微信授权登录
- Mac 常用软件推荐
- SQL Server2008函数大全
- 婚恋交友网站比相亲更靠谱!幸福婚姻算法了解一下
- 图解PKCS#1(合)
- JQuery入门级-基础
- Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
- python 内置模块之os、sys、shutil
- 手机钢琴软件太好玩啦!弹奏乐曲分享