81 掌握webpack图片文件的处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了81 掌握webpack图片文件的处理相关的知识,希望对你有一定的参考价值。

参考技术A https://www.bilibili.com/video/BV15741177Eh?p=81&spm_id_from=pageDriver

首先,我们在项目中加入两张图片:
一张较小的图片test01.jpg(小于8kb),一张较大的图片test02.jpeg(大于8kb)
待会儿我们会针对这两张图片进行不同的处理
我们先考虑在css样式中引用图片的情况,所以我更改了normal.css中的样式:

如果我们现在直接打包,会出现如下问题

图片处理,我们使用url-loader来处理,依然先安装url-loader

修改webpack.config.js配置文件:

再次打包,运行index.html,就会发现我们的背景图片选出了出来。
而仔细观察,你会发现背景图是通过base64显示出来的
OK,这也是limit属性的作用,当图片小于8kb时,对图片进行base64编码

那么问题来了,如果大于8kb呢?我们将background的图片改成test02.jpg
这次因为大于8kb的图片,会通过file-loader进行处理,但是我们的项目中并没有file-loader

所以,我们需要安装file-loader

再次打包,就会发现dist文件夹下多了一个图片文件

我们发现webpack自动帮助我们生成一个非常长的名字
这是一个32位hash值,目的是防止名字重复
但是,真实开发中,我们可能对打包的图片名字有一定的要求
比如,将所有的图片放在一个文件夹中,跟上图片原来的名称,同时也要防止重复
所以,我们可以在options中添加上如下选项:
img:文件要打包到的文件夹
name:获取图片原来的名字,放在该位置
hash:8:为了防止图片名称冲突,依然使用hash,但是我们只保留8位
ext:使用图片原来的扩展名
但是,我们发现图片并没有显示出来,这是因为图片使用的路径不正确
默认情况下,webpack会将生成的路径直接返回给使用者
但是,我们整个程序是打包在dist文件夹下的,所以这里我们需要在路径下再添加一个dist/

以上是关于81 掌握webpack图片文件的处理的主要内容,如果未能解决你的问题,请参考以下文章

全网最好的原创 Webpack 2 视频教程

使用 HTMLWebpackPlugin 时如何通过 webpack 加载图片?

webpack的学习使用六

webpack +vue开发

Webpack5资源解析

Webpack5资源解析