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.pswp.cn/web/73635.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73635.shtml
英文地址,請注明出處:http://en.pswp.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 在方法上使用快捷鍵生成注釋 先新建一個…