本片文章将记录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-loaderfile-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学习笔记(六):图片打包处理相关推荐

  1. webpack学习笔记1

    webpack学习笔记1:基本概念 前言: 现在在日常的开发中,webpack已经是必不可少的东西了,现在的需求基本都是用webpack对资源进行打包整合,所以打算写一点关于webpack的东西,这是 ...

  2. opencv 手选roi区域_【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  3. 【K210】K210学习笔记六——MaixHub在线模型训练识别数字

    [K210]K210学习笔记六--MaixHub在线模型训练识别数字 前言 K210准备工作 数据的获取 MaixHub如何在线训练模型 训练模型在K210上的测试 小结 前言 本人大四学生,电赛生涯 ...

  4. Java学习笔记 六、面向对象编程中级部分

    Java学习笔记 六.面向对象编程中级部分 包 包的注意事项和使用细节 访问修饰符 访问修饰符的注意事项和使用细节 面向对象编程三大特征 封装 封装的实现步骤(三步) 继承 继承的细节问题 继承的本质 ...

  5. webpack学习笔记(三):监听文件变化并编译

    在上一篇webpack学习笔记中主要认识了webpack配置文件中相关的基础配置和命令的执行.这次学习如何在文件发生变化时自动打包编译. 首先,我们来看一下配置文件 const path = requ ...

  6. webpack学习笔记(二):认识配置和命令执行

    在上一篇webpack学习笔记中,直接在命令行中使用npx webpack对项目进行打包时所使用的配置都是默认的,入口文件默认是src目录下的index.js文件,输出文件默认是dist文件夹下的ma ...

  7. Ethernet/IP 学习笔记六

    Ethernet/IP 学习笔记六 EtherNet/IP defines two primary types of communications: explicit and implicit (Ta ...

  8. 吴恩达《机器学习》学习笔记六——过拟合与正则化

    吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...

  9. ROS学习笔记六:理解ROS服务和参数

    ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...

  10. JS学习笔记六:js中的DOM操作

    1. JS学习笔记六:js中的DOM操作 文章目录 1. JS学习笔记六:js中的DOM操作 1.1. 获取Dom节点 1.2. 元素属性的操作方式 1.3. DOM节点的创建.插入和删除 1.4. ...

最新文章

  1. 跳出数据计算拯救人智能
  2. python 生成器_Python生成器的用法
  3. 特征选择算法java实现_relief算法特征选择
  4. arcgis已知两点投影坐标求距离
  5. 蓝桥杯2014c++真题:扑克序列(next_permutation)
  6. 南邮ctf mysql_南邮ctf知识点汇总 - Crypto篇
  7. OracleDG主库丢失归档增量同步
  8. 移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签)...
  9. DirectX 修复
  10. 5个小众视频素材网站,你知道吗?
  11. The project uses Gradle 4.1 which is incompatible with Java 11 or newer.
  12. Java实现微信授权登录
  13. Mac 常用软件推荐
  14. SQL Server2008函数大全
  15. 婚恋交友网站比相亲更靠谱!幸福婚姻算法了解一下
  16. 图解PKCS#1(合)
  17. JQuery入门级-基础
  18. Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
  19. python 内置模块之os、sys、shutil
  20. 手机钢琴软件太好玩啦!弹奏乐曲分享

热门文章

  1. Python爬取张国荣最火的8首歌,60000评论看完泪奔!
  2. html的url中写什么意思,url的含义是什么?
  3. android ftp客户端
  4. 用uwsgi和nginx 部署 django和vue打造的前后端分离项目
  5. AUTOSAR多核操作系统(一)
  6. 微型导电滑环是什么?
  7. 冰点还原精灵 7.30 简体中文版 每次重启 您的电脑都是焕然一新
  8. 点云中截取自己想要的点云
  9. Stata:拉索开心读懂-Lasso入门
  10. CentOS7.5LNMP-Nginx部署