一文大白话讲清楚webpack基本使用——3——图像相关loader的配置和使用

embedded/2025/1/24 11:36:57/

文章目录

  • 一文大白话讲清楚webpack基本使用——3——图像相关loader的配置和使用
  • 1. 建议按文章顺序从头看是看
  • 2. 图像文件Loader的配置和使用

webpack3loader_1">一文大白话讲清楚webpack基本使用——3——图像相关loader的配置和使用

1. 建议按文章顺序从头看是看

  • 第一篇:
  • 一文大白话讲清楚啥是个webpack
  • 第二篇:
  • 一文大白话讲清楚webpack基本使用——1——完成webpack的初步构建
  • 第三篇
  • 一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用
  • 然后看本篇,图像相关Loader的配置和使用

2. 图像文件Loader的配置和使用

2.1 file-loader

  • 前端开发,我们免不了要使用image,我们在src目录下创建img文件夹,里面放一张图片,index.jpg
    在这里插入图片描述

  • 然后我们通过main.js往index.html加入图片

import imgUrl from './img/index.jpg'
let img=document.createElement('img')
img.url=imgUrl
img.style="height:100px"
document.body.appendChild(img)

在这里插入图片描述

  • 这时候如果我们直接构建,还是会报错
    在这里插入图片描述

  • 大概意思是需要一个loader来处理,这里我们先基于webpack5之前的版本,因为webpack5之后可以不使用loader了,直接使用资源类型模块

  • 我们使用file-loader来处理图片

  • 先下载

npm install file-loader
 {test:/\.jpg$/, use:[{loader:'file-loader',options:{name:"[name].[hash:8].[ext]",//指定最后生成的文件名字,原name+内容hash+原后缀outputPath:"img"//知道文件存放的目录}}]
}

在这里插入图片描述

  • 然后我们开始构建
npm run build
  • 可以看到dist目录下多了一个img目录,里面是处理后的图片
    在这里插入图片描述

  • 然后我们浏览器运行index.html
    在这里插入图片描述

  • 图片正确加载了

  • 除了file-loader,我们还可以使用url-loader完成图片的

2.2 url-loader

  • url-loader也可以完成图像文件的处理,二者的关系是url-loader里面内置了file-loader,也就是说url-loader不依赖于file-loader,可以独立使用
  • url-loaderfile-loader都可以输出DateURL,区别是,url-loader可以设置一个文件大小的阈值。如果文件大于这个阈值,直接调用内置的file-loader就输出DataURL ,如果小于这个阈值,则直接将图像进行base64编码然后注入到js或者css里面,也就是说,不用再单独生成图像文件了。
  • 先安装url-loader
npm install url-loader
{test:/\.jpg$/,use:[{loader:'url-loader',options:{limit:'1024'//配置阈值,如果小于,则base64编码,如果大于则直接调用内部file-loade处理}}]}

在这里插入图片描述

  • 然后重新构建,发现也可以正常运行
  • 下一篇我们讲vue-loader

http://www.ppmy.cn/embedded/156554.html

相关文章

@RabbitListener处理重试机制完成后的异常捕获

application.properties中配置开启手动签收 spring.rabbitmq.listener.direct.acknowledge-modemanual spring.rabbitmq.listener.simple.acknowledge-modemanual定义一个重试器 Slf4j Configuration public class RabbitMQRetryConfing {Bean("customRetry")publi…

【JAVA 基础 第(20)课】JDBC JAVA 连接 MySql 数据库

pom.xml 导入 MySql jar 包 <!-- 导入Mysql数据库链接jar包 --> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version> </dependency> 数据库驱动、连接封装成…

oem解锁时不识别设备

问题原因&#xff1a; 1.没有打开开发者模式中的oem解锁开关 2.没有更新adb驱动程序 解决方法&#xff1a; 1.在网上找一个google驱动程序&#xff08;adb或者platform-tools包&#xff09; 2.连接机器&#xff0c;在电脑上选择 “我的电脑 - 右键 - 管理 - 设备管理器 - 软件…

JAVA基础语句整理

Java是一种广泛使用的面向对象编程语言&#xff0c;它具有简洁、强大、跨平台等特性。以下是Java中的一些基础语句和概念&#xff0c;适合初学者了解&#xff1a; 1. 类与对象 Java是基于类的&#xff0c;程序的基本单位是类&#xff08;class&#xff09;。对象是类的实例。…

重构(4)

&#xff08;一&#xff09;添加解释性变量&#xff0c;使得代码更容易理解&#xff0c;更容易调试&#xff0c;也可以方便功能复用 解释性的变量 总价格为商品总价&#xff08;单价*数量&#xff09;-折扣&#xff08;超过100个以上的打9折&#xff09;邮费&#xff08;原价的…

MySQL数据库批量插入包含uuid的数据

1、MySQL数据库库如何生成uuid MySQL数据库内置了uuid()函数&#xff0c;通过uuid()函数生成36字符的字符串。 登录MySQL select uuid();2、如何使用MySQL数据库插入大批量数据 使用MySQL插入大批量数据可以通过定义存储过程&#xff0c;在存储过程中设置循环次数&#xff0…

【Redis】事务

前言&#xff1a; 对比MySQL事务:【MySQL篇】事务的认识以及四大特性-CSDN博客 弱化的原子性: redis 没有 "回滚机制". 只能做到这些操作 "批量执行". 不能做到 "一个失败就恢复到初始状态". 不保证一致性: 不涉及 "约束". 也没有…

【数据结构篇】顺序表 超详细

目录 一.顺序表的定义 1.顺序表的概念及结构 1.1线性表 2.顺序表的分类 2.1静态顺序表 2.2动态顺序表 二.动态顺序表的实现 1.准备工作和注意事项 2.顺序表的基本接口&#xff1a; 2.0 创建一个顺序表 2.1 顺序表的初始化 2.2 顺序表的销毁 2.3 顺序表的打印 3.顺序…