好家伙,

1.什么是base64?

图片的 base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。

这样做有什么意义呢?我们知道,我们所看到的网页上的每一个图片,都是需要消耗一个 http 请求下载而来的

没错,不管如何,图片的下载始终都要向服务器发出请求,要是图片的下载不用向服务器发出请求,

而可以随着 HTML 的下载同时下载到本地那就太好了,而 base64 正好能解决这个问题。

使用base64编码可以节省一个 http 请求。图片的 base64 编码可以算是前端优化的一环

将图片进行转码

将解好的码

再放到"src"中

可以看到效果是一样的

(小的图片,如logo可以用,较大较复杂的图片不建议使用)

2.安装并配置处理图片的loader

打包处理样式表中与url 路径相关的文件

2.1安装

运行

npm i url-loader@4.1.1file-loader@6.2.0-D

2.2.在webpack.config.js的 module ->rules 数组中,添加 loader 规则如下:

module:{       //所有第三方文件模块的匹配规则

        rules:[   // 文件后缀名的匹配规则

            { test:/\.jpg|png|gif$/, use: 'url-loader?limit=22229' },
                          //参数,,参数值
] }

其中,之后的是loader的参数项:

1.limit用来指定图片的大小,单位是字节(byte)

(只有在小于这个值的时候才会将该图片转为base64)


2.只有≤limit 大小的图片,才会被转为 base64格式的图片

2.3.在.js文件中导入图片

(  在webpack中,一切皆模块,都可以通过ES6导入语法进行导入和使用  )

//1.导入图片得到图片文件
  import logo from './images/logo.jpg' //2.给img标签的src动态赋值   $('.box').attr('src',logo)

搞定!

第五十二篇:webpack的loader(三) -url-loader (图片的loader)的更多相关文章

  1. 第五十二篇、 OC获取视频的第一帧图片thumbnailImage

    获取视频的第一帧图片 有时候我们拍摄完视频后,希望获取一张图片当作这个视频的介绍,这个图片thumbnailImage可以从视频的第一帧获取到. 我们的思路是先获取视频的URL,然后初始化一个MPMo ...

  2. 第五十二篇 Linux相关——数据库服务MySQL

        No.1. MySQL基本操作 CentOS7默认安装mariadb数据库,先将其移除 移除命令:sudo yum -y remove mariadb-libs.x86_64 下载MySQL源 ...

  3. C++第五十二篇 -- 多线程之消息传递

    主线程向子线程发送消息 参考链接:https://www.cnblogs.com/ranjiewen/p/5729539.html 1. 创建线程语句 HANDLE hThread; DWORD dw ...

  4. 第八十二篇:Vue购物车(三) 实现全选功能

    好家伙, 继续完善购物车相应功能 1.如何实现全选和反全选 1.1.全选框的状态显示(父传子) 来一波合理分析: 在页面中,有三个商品中 三个商品中的第二个未选择, 我么使用一个计算属性(fullSt ...

  5. 《手把手教你》系列技巧篇(五十二)-java+ selenium自动化测试-处理面包屑(详细教程)

    1.简介 面包屑(Breadcrumb),又称面包屑导航(BreadcrumbNavigation)这个概念来自童话故事"汉赛尔和格莱特",当汉赛尔和格莱特穿过森林时,不小心迷路了 ...

  6. Spring Cloud第十二篇 | 消息总线Bus

    ​ ​本文是Spring Cloud专栏的第十二篇文章,了解前十一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...

  7. 解剖SQLSERVER 第十二篇 OrcaMDF 行压缩支持(译)

    解剖SQLSERVER 第十二篇   OrcaMDF 行压缩支持(译) http://improve.dk/orcamdf-row-compression-support/ 在这两个月的断断续续的开发 ...

  8. 第十二篇 SQL Server代理多服务器管理

    本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文 在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划.你还简单地看了SSIS子系统,并查看了维护计划作 ...

  9. 第十二篇 Integration Services:高级日志记录

    本篇文章是Integration Services系列的第十二篇,详细内容请参考原文. 简介在前一篇文章我们配置了SSIS内置日志记录,演示了简单和高级日志配置,保存并查看日志配置,生成自定义日志消息 ...

随机推荐

  1. 介绍一个好用的dao层与mybatis互跳的idea插件MyBatisCodeHelperPro

    一次点击 File--> Settings --> Plugins -->搜索MyBatisCodeHelperPro,点击获取,重启idea即可 接下来看效果,点击小企鹅就可以相互 ...

  2. 使用http://start.spring.io/构建maven微服务项目的几个坑及eclipse构建spring boot微服务项目

    一,使用http://start.spring.io/构建maven微服务项目 本来嘛,直接构建的项目导入时没有任何问题的导入就可以运行,可是最近构建好项目,然后导入,种种报错 1.导入之后POM报错 ...

  3. React与Koa一起打造一个仿稀土掘金全栈个人博客(技术篇)

    本篇文章将分为前台角度与后台角度来分析我是怎么开发的.前台角度主要资源 react.js ant Design for-editor axios craco-less immutable react- ...

  4. SAP Drag or drop tree

    1 *&---------------------------------------------------------------------* 2 *& Report RSDEM ...

  5. 关于nginx 和 uwsgi

    关于nginx和uWSGI和Django之间的关系,我觉得要理一下. 原文链接 为什么要用nginx 因为我们要使用https协议访问.(y总说django不支持,但是我查了一下,django也可以支 ...

  6. 在Visual Studio Code 中配置Python 中文乱码问题

    在Visual Studio Code 中配置Python 中文乱码问题 方法一:直接代码修改字符集 添加前四行代码 import io import sys #改变标准输出的默认编码 sys.std ...

  7. 华为HMS Core携手超图为三维GIS注入新动能

    6月30日,在2022(第五届)GIS软件技术大会GIS基础软件新技术板块论坛上,华为联合超图推出了基于HMS Core 3D Engine开发的高保真三维GIS插件,通过3D渲染技术助力三维GIS实 ...

  8. 关于'utf-8' codec can't decode byte 0xb9 in position 0: invalid start byte报错

    今天在使用vscode编译程序时,启动Python服务出现以下错误: 通过网络查找资料可以得知,是由于个人用户名非英文而导致,但是网上并没有说清楚是哪里的名字,以至于很多人会以为是以下地方: 实际上真 ...

  9. java后端接受Vue传递的List

    Failed to resolve argument 1 of type 'java.util.List' org.springframework.web.bind.MissingServletReq ...

  10. 5-2 Nacos注册中心

    Nacos注册中心 什么Nacos Nacos是Spring Cloud Alibaba提供的一个软件 这个软件主要具有注册中心和配置中心的功能 我们先学习它注册中心的功能 微服务中所有项目都必须注册 ...