webpack之处理图片和字体图标
Have a good day
萌兔猛进
处理图片资源
过去在 Webpack4 时,我们处理图片资源通过 file-loader 和 url-loader 进行处理
现在 Webpack5 已经将两个 Loader 功能内置到 Webpack 里了,我们只需要简单配置即可处理图片资源
配置
1  | const path = require("path")  | 
2. 添加图片资源
- src/images/1.jpeg
 - src/images/2.png
 - src/images/3.gif
 
3. 使用图片资源
- src/less/index.less
 
1  | .box2 {  | 
- src/sass/index.sass
 
1  | .box3  | 
- src/styl/index.styl
 
1  | .box5  | 
4. 运行指令
1  | npx webpack  | 
打开 index.html 页面查看效果
5. 输出资源情况
此时如果查看 dist 目录的话,会发现多了三张图片资源
因为 Webpack 会将所有打包好的资源输出到 dist 目录下
- 为什么样式资源没有呢?
 
因为经过 style-loader 的处理,样式资源打包到 main.js 里面去了,所以没有额外输出出来
6. 对图片资源进行优化
将小于某个大小的图片转化成 data URI 形式(Base64 格式)
1  | const path = require("path");  | 
- 优点:减少请求数量
 - 缺点:体积变得更大
 
此时输出的图片文件就只有两张,有一张图片以 data URI 形式内置到 js 中了 (注意:需要将上次打包生成的文件清空,再重新打包才有效果)
修改输出资源的名称和路径
1. 配置
1  | const path = require("path");  | 
**#**2. 修改 index.html
1  | <!DOCTYPE html>  | 
处理字体图标资源
1. 下载字体图标文件
选择想要的图标添加到购物车,统一下载到本地
2. 添加字体图标资源
src/fonts/iconfont.ttf
src/fonts/iconfont.woff
src/fonts/iconfont.woff2
src/css/iconfont.css
注意字体文件路径需要修改
src/main.js
1  | import { add } from "./math";  | 
- public/index.html
 
1  | <!DOCTYPE html>  | 
3. 配置
1  | const path = require("path");  | 
type: "asset/resource"和type: "asset"的区别:
type: "asset/resource"相当于file-loader, 将文件转化成 Webpack 能识别的资源,其他不做处理type: "asset"相当于url-loader, 将文件转化成 Webpack 能识别的资源,同时小于某个大小的资源会处理成 data URI 形式
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 fortunate!
 评论
