| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> webpack5 url-loader打包图片资源大小与limit限制结合时,生成重复图片资源,页面也不能正常显示打包后的图片的问题的解决 -> 正文阅读 |
|
[JavaScript知识库]webpack5 url-loader打包图片资源大小与limit限制结合时,生成重复图片资源,页面也不能正常显示打包后的图片的问题的解决 |
目录: 图片引用在./src/css/style.css中:
首先使用webpack5,打包./src/imgs中的小图片,大小为6.98KB,小于webpack.config.js中配置中limit的值,具体步骤如下: 1. 安装url-loader
2.?webpack.config.js中配置规则
3. 执行npm run dev,没有报错,在dist文件夹中生成了一个图片,且该图片无法正常预览。但是正常情况下该图片小于limit值时,会将该图片转为base64图片,并且可以在浏览器中正常预览。 ? ?查找发现产生该问题的原因在于:webpack5弃用了url-loader,根据资源模块(??https://webpack.docschina.org/guides/asset-modules/)中的提示,在rules中设置type: 'javascript/auto'来解决?asset 重复的问题。 ?webpack.config.js中设置type:
4. 再次执行npm run dev,dist文件夹中没有生成小图片,浏览器中预览页面发现图片名称并不是以base64的格式显示,而是[object Module]: ?该问题的原因在于:url-loader在新版本中esModule默认为true,webpack.config.js中采用的是CommonJS规范,与url-loader的esModule不同,因此手动设置为false可以解决。 ?webpack.config.js中设置esModule:
5. 再次执行npm run dev,dist文件夹中没有生成小图片,浏览器中查看,小图片被正常打包转换为base64图片,页面中也正常显示: ? ?6. 将style.css样式中的小图片改为大图片,执行npm run dev,由于还未安装file-loader,此时报错:Error: Cannot find module 'file-loader' 安装file-loader:
再次执行npm run dev,dist文件夹下会生成对应的图片,浏览器页面中也可以正常显示: ? ? ?7. 上述第6步生成的图片直接被存放到dist文件夹下,并且图片的文件名是随机命名的,很不便于后期对图片的管理和使用,为了统一图片存放路径和名称,设置一个name规则。 webpack.config.js中设置:
执行npm run dev,生成的图片存放于dist文件夹下的img文件夹中,并且图片的名称是按照设置的name 规则生成的: ? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:16:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |