Vue2项目打包后,某些图片被转换为base64导致无法显示


提示:以下是本篇文章正文内容,下面案例可供参考

Vue2项目打包后,某些图片被转换为base64导致无法显示

1.为什么有些图片会被转成base64,而其他的却正常输出到dist/img目录下?

因为Vue CLI默认可能会对小于某个阈值的图片进行base64内联,以减小HTTP请求的数量。

2.解决办法

1.需要检查Vue项目的配置文件----vue.config.js。如果没有这个文件,需要自己创建一个。
2.Vue CLI内部使用的是Webpack,所以需要找到处理图片的loader,比如url-loader或者file-loader。默认情况下,url-loader会在文件大小小于一定值时将文件转换为base64,超过这个值则使用file-loader来复制文件。因此,如果问题是由于图片大小刚好在这个阈值以下导致的,那么增大这个阈值或者完全禁用base64转换可能解决问题。

3.解决步骤
  1. 在项目根目录下创建或修改vue.config.js文件
  2. 配置chainWebpackconfigureWebpack来修改Webpack的图片处理规则。
  3. 调整url-loaderlimit选项,增大其限制值,或者设置为false,这样所有图片都使用file-loader处理,不会被转成base64。
  4. 确保file-loader的相关配置正确,比如输出的路径和文件名。

另外,需要确认图片引用的方式是否正确。在Vue组件中,如果是通过相对路径引用图片,比如src: ‘./assets/image.png’,Webpack会处理它。但如果是动态绑定或某些特定情况下,可能需要不同的处理方式。

  • 图片路径
<!-- 静态路径 -->
<img src="@/assets/image.png" /><!-- 动态绑定时使用require -->
<img :src="require('@/assets/' + imageName)" />
  • vue.config.js文件
module.exports = {publicPath: "./",chainWebpack: (config) => { // 新增图片处理规则config.module.rule('images').use('url-loader').tap(options => ({...options,limit: 10240, // 10KB以上图片不转base64name: 'img/[name].[hash:8].[ext]', // 图片输出到dist/img目录esModule: false, // 避免vue2兼容问题publicPath: process.env.NODE_ENV === 'production' ? './' : '/' // 路径适配}));},
};
  1. 注意:
  • 若想完全禁用base64,将limit: 0
  • 如果图片仍不显示,检查:
    • 开发环境是否配置了publicPath: ‘/’
    • 图片是否真的超过设置的limit大小
    • 控制台是否有404错误(路径问题)

总结

通过调整url-loader的limit阈值,可控制图片是否转为Base64。增大或禁用该值后,所有符合条件的图片将作为独立文件输出到dist/img目录,确保正确显示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/73635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node-red dashboard

安装&#xff1a; npm install node-red-dashboard 访问&#xff1a; http://127.0.0.1:1880/ui 1. 创建一个新的 Dashboard 页面: 在 Node-RED 编辑器中&#xff0c;拖动一个 ui_dashboard 节点到工作区&#xff0c;并将其连接到你的数据流。 2. 配置 Dashboard 节点: 双击…

《深入探究:数字类型转换为指定格式字符串的奥秘》

在计算机编程的世界里&#xff0c;数据就如同流淌在系统脉络中的血液&#xff0c;而数据类型则是决定其形态与行为的关键基因。将数字类型转换为字符串类型并指定格式&#xff0c;这一看似基础的操作&#xff0c;实则蕴含着丰富的技术内涵与应用价值&#xff0c;广泛渗透于数据…

人体细粒度分割sapiens 实战笔记

目录 sapiens 分割示例: 分割config文件: 依赖项: mmcv安装 测试 cnn和ops一起测试: 报错: 保存图片代码: 人体box裁剪扩大,不裁剪扩大效果很差 sapiens https://github.com/facebookresearch/sapiens 分割示例: https://github.com/facebookresearch/sapie…

【cocos creator 3.x】3Dui创建,模型遮挡ui效果

官方文档&#xff1a;https://docs.cocos.com/creator/3.8/manual/zh/ui-system/components/editor/ui-model.html 1、3Dui创建 创建label&#xff0c;默认会添加canvas根节点和2dCamera 将Camera删除&#xff0c;canvas上组建去除cc.Canvas&#xff0c;cc.widget&#xff0…

从零开始跑通3DGS教程:介绍

写在前面 本文内容 本文所属《从零开始跑通3DGS教程》系列文章&#xff0c;将实现从原始图像(有序、无序)数据开始&#xff0c;经过处理(视频抽帧成有序)&#xff0c;SFM&#xff0c;3DGS训练、编辑、渲染等步骤&#xff0c;完整地呈现从原始图像到新视角合成的全部流程&#x…

车架号查询车牌号接口如何用Java对接

一、什么是车架号查询车牌号接口&#xff1f; 车架号查询车牌号接口&#xff0c;即传入车架号&#xff0c;返回车牌号、车型编码、初次登记日期信息。车架号又称车辆VIN码&#xff0c;车辆识别码。 二、如何用Java对接该接口&#xff1f; 下面我们以阿里云接口为例&#xff0…

SvelteKit 最新中文文档教程(12)—— 高级路由

前言 Svelte&#xff0c;一个语法简洁、入门容易&#xff0c;面向未来的前端框架。 从 Svelte 诞生之初&#xff0c;就备受开发者的喜爱&#xff0c;根据统计&#xff0c;从 2019 年到 2024 年&#xff0c;连续 6 年一直是开发者最感兴趣的前端框架 No.1&#xff1a; Svelte …

Ubuntu系统保姆级Paperless-ngx部署指南:零基础实现文档云端化管理

文章目录 前言1.关于Paperless-ngx2.Docker部署3.简单使用paperless4.安装cpolar内网穿透5. 配置公网地址6. 配置固定公网地址总结 前言 在当今快节奏的办公环境中&#xff0c;文档管理成为了一个不可忽视的问题。想象一下这样的场景&#xff1a;你需要一份重要的合同&#xf…

PostgREST实现DBaaS(数据库即服务)

目录 配置使用 验证 token使用 上文部署高可用PostgreSQL14集群后&#xff0c;本文介绍PostgREST&#xff0c;以及如何基于PostgREST实现数据库即服务&#xff0c;PostgREST可以在 PostgreSQL 数据库上通过解析数据库结构&#xff08;如表、视图、存储过程、权限等&#xff…

基于yolov11的铁路轨道铁轨缺陷检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv11的铁路轨道铁轨缺陷检测系统是一种高效、准确的自动化检测技术&#xff0c;专门用于识别和检测铁轨上的各种缺陷。该系统利用YOLOv11这一先进的深度学习模型&#xff0c;实现了对Corrugation&#xff08;波纹磨耗&#xff09;、Spalling&#xff08;剥…

WPF TemplateBinding与TemplatedParent区别

在 WPF 中&#xff0c;TemplateBinding 和 TemplatedParent 是两种与控件模板&#xff08;ControlTemplate&#xff09;相关的绑定机制&#xff0c;它们都可以用来在控件模板中访问控件的属性。尽管它们的功能有些相似&#xff0c;但它们的行为和使用场景有一些重要的区别。 1.…

华为hcie证书考什么,怎么备考?

新盟教育 | 华为HALP授权培训合作伙伴 在ICT领域&#xff0c;华为HCIE证书是含金量极高的专业认证&#xff0c;它是对个人技术能力和专业素养的高度认可。对于渴望在网络、云计算、大数据等前沿领域深入发展的从业者而言&#xff0c;华为HCIE证书是一块强有力的职业敲门砖。 …

【Git 暂存操作指南2】

Git 暂存操作指南 在日常的 Git 使用场景中&#xff0c;我们常常会遇到各种复杂的情况&#xff0c;需要巧妙运用 Git 的功能来实现高效开发与代码管理。接下来&#xff0c;我们将深入探讨一个具体的开发实例&#xff0c;以及如何通过暂存功能完美解决其中的问题。 一、开发场…

华为hcia——Datacom实验指南——配置IPv4静态路由,默认路由和浮动静态路由

什么是IPv4 IPv4静态路由&#xff0c;是手动配置的&#xff0c;不会随着网络拓扑的变化而变化&#xff0c;所配置的路由信息也不会在网络中传播&#xff0c;所以它主要运用在小型网络或者作为动态路由的补充。 IPv4的配置 配置的命令很简单 IP route-static &#xff08;目…

Linux一步部署主DNS服务器

​ #!/bin/bash #部署DHCP服务 #userli 20250319if [ "$USER" ! "root" ]then echo"错误&#xff1a;非root用户&#xff0c;权限不足&#xff01;"exit 0fi#防火墙与高级权限 systemctl stop firewalld && systemctl disable firewalld…

给AI装“记忆U盘“:LangChain记忆持久化入门指南

&#x1f9e0; 什么是记忆持久化&#xff1f; 想象AI对话就像和朋友聊天&#xff1a; ​普通模式&#xff1a;每次重启都忘记之前聊过什么​持久化模式&#xff1a;给AI配了个"记忆U盘"&#xff0c;聊天记录永不丢失 核心组件三件套 #mermaid-svg-ORm8cbBXsaRy2sZ…

JumpServer:一款企业级开源堡垒机

在数字化运维时代&#xff0c;如何高效、安全地管控企业内部资产&#xff1f;JumpServer 作为一款完全开源的堡垒机&#xff0c;凭借其强大的 4A&#xff08;身份认证、授权控制、账号管理、安全审计&#xff09;能力与灵活的架构设计&#xff0c;实现事前授权、事中监察、事后…

LangChain + PostgreSQL 实现向量数据库与 RAG 搜索

1. 环境准备 安装必要的库 pip install langchain psycopg2-binary pgvector langchain-openai安装并配置 PostgreSQL 安装 PostgreSQL 确保 PostgreSQL 已正确安装并运行。你可以根据操作系统的不同参考官方文档进行安装。 创建数据库 创建一个新的数据库&#xff08;例如 …

STM32硬件IIC与OLED使用

OLED屏幕介绍 OLED即有机发光管(Organic Light-Emitting Diode,OLED)。OLED显示技术具有自发光、广视角、几乎无穷高的对比度、较低功耗、极高反应速度、可用于绕曲性面板、使用温度范围广、构造及制程简单等有点&#xff0c;被认为是下一代的平面显示屏新兴应用技术 OLED显示…

idea自动生成注释

idea 自动生成注释 1 创建类时&#xff0c;自动生成注释 模板代码如下 /** * program: ${PROJECT_NAME} * * description: ${description} * * author: yun * * create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE} **/ 2 在方法上使用快捷键生成注释 先新建一个…