vue3:加载本地图片等静态资源

news2024/11/29 8:58:53

背景

在我们用 vue2 + webpack 的时候,加载图片资源是这样用的:

<img :src="require('@/assets/test.png')" />

这样打包后就会触发 file-loader 打包图片资源,在 dist 文件夹中就可以看到这个图片(如果图片较小会打包进代码中变为 base64 引入)。

但是在 vue3 + vite 中,使用这种方式是不行的,vite 中没有 require 会报错。
解决方案 官方文档 中提到了两种方案,今天我来验证一下。

将资源引入为 URL

import chatHealth from '@/assets/chat-health.png'
<img :src="chatHealth" alt="" />

在这里插入图片描述
可以看到,由于这张图片较小被打包成为了 base64,所以 dist 文件夹没有输出这个图片。

接下来我拿一张大图试验一下,发现确实打包出来了。
在这里插入图片描述
所以这种方法亲测有效。

new URL(url, import.meta.url)

第二种方法是:

<img :src="getImgUrl('chat-health.png')" alt="" />

const getImgUrl = (name: string) => {
  return new URL('../../../../../assets/' + name, import.meta.url).href
}

使用这种方法,在本地运行的时候可以加载出来图片。
在这里插入图片描述
但是发到真实环境(测试/线上),发现找不到文件了,我看了下目录指向的是:
在这里插入图片描述
但这个路径并不对,然后我再看打包后的文件
在这里插入图片描述
发现打包后的文件并没有这个图片,这里我有点不太懂问题出在哪里?
感觉好像就是 vite 没有去加载这个图片,所以打包文件看不到,并不是因为图片小,我换了一个大图依旧 dist 没有,不知道是不是我哪里操作不对。

结尾

对比这两种方案,我只试验成功了第一种,第二种如果是我哪里操作不对的欢迎指正

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

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

相关文章

Vue3+vite4使用mockjs进行模拟开发遇到的坑

Vue3vite4使用mockjs进行模拟开发遇到的坑 最近没那么忙了&#xff0c;就想着自己写一个后台管理系统的小demo。刚好最近把Vue3的文档撸了一遍&#xff0c;正好可以顺便练习一下Vue3ts。 插件 1、mockjs是必不可少的。 2、vite-plugin-mock。由于现在创建Vue3项目默认都使用vit…

Django框架之配置信息

静态文件 项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中&#xff0c;以方便管理。在html页面中调用时&#xff0c;也需要指定静态文件的路径&#xff0c;Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下&#xff0c…

2023年,pmp项目管理师证书有用么?难考吗?

一、这个证书含金量高么&#xff1f; 是高的&#xff0c;在项目管理或者管理领域中&#xff0c;知名度和含金量都是在前列的。看项目岗位要求&#xff1a;“PMP证书优先”&#xff0c;“”具备项目管理资质&#xff08;PMP&#xff09;优先“。 且在行业内几乎是共识了&#…

2023最新软件测试八股文,能不能拿Offer就看你背得怎样了

前言鉴于目前测试就业越来越严峻&#xff0c;内卷也成了测试领域的代名词了。我的一个HR朋友告诉我&#xff0c;由于门槛较低&#xff0c;现在普通测试岗&#xff08;偏功能&#xff09;的投递比已经将近100&#xff0c;也就是一个岗位差不多有百分简历投进来。 所以现在还想从…

【机器学习】lightGBM是什么?

梯度提升法(Gradient Boosting Machine&#xff0c;简记 GBM)以非参数方法&#xff08;不假设函数形式&#xff09;估计基函数&#xff0c;并在“函数空间”使用“梯度下降”进行近似求解。非参数方法包括K近邻法、决策树、以及基于决策树的装袋法、随机森林与提升法等。 01 梯…

MySQL-Innodb引擎事务原理

文章目录1.事务介绍2 事务特性3. 事务的实现原理4 redo log 保证持久性5 undo log 保证原子性6 MVCC 概念6.1 隐藏字段6.2 版本链6.3 ReadView6.3.1readview 版本控制规则7 隔离性 实现7.2 隔离性- REPEATABLE READ 可重复读下8 一致性1.事务介绍 事务是一组操作的集合&#xf…

Vue (4)

文章目录1. 绑定样式1.1 绑定 class 样式1.2 绑定 style 样式2. 条件渲染2.1 v-show2.2 v-if3. 列表渲染3.1 v-for3.2 key 的作用与原理3.3 列表过滤3.4 列表排序1. 绑定样式 说 绑定样式 前&#xff0c;先准备好 以下几个 样式 : <style>.basic {width: 400px;height: 1…

四数之和(详细题解:双指针+排序)

18. 四数之和 难度中等1502 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#x…

Java 魔法类 Unsafe 详解

阅读过 JUC 源码的同学&#xff0c;一定会发现很多并发工具类都调用了一个叫做 Unsafe的类。 那这个类主要是用来干什么的呢&#xff1f;有什么使用场景呢&#xff1f;这篇文章就带你搞清楚&#xff01; Unsafe 介绍 Unsafe 是位于 sun.misc 包下的一个类&#xff0c;主要提…

要发计算机SCI论文,参考文献应该怎么引用? - 易智编译EaseEditing

SCI论文发表中经常被引用的参考文献主要有以下四种。 一是关于具体的实验的方法&#xff0c;二是支持性或者有冲突的证据&#xff0c;三是比较有用的类似的文献&#xff0c;四是有历史背景的和有意义的文献。 其实归根到底&#xff0c;你引用的SCI的参考文献必须对你的论文发表…

031_SSS_Imagic Text-Based Real Image Editing with Diffusion Models

Imagic: Text-Based Real Image Editing with Diffusion Models 1. Introduction 本文提出了一种新的基于Diffusion的方法称作Imagic&#xff0c;可以实现复杂的基于文本的图像编辑。与之前的方法不同&#xff0c;本文的方法只需要一张输入图像和一个目标文本&#xff0c;并且…

线程私有变量ThreadLocal详解

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 烈火试真金&#xff0c;逆境试强者。——塞内加 文章目录什么是ThreadLocalThreadLocal 原理set()方法get()方法remove()方法ThreadLocal 的Hash算法ThreadLocal 1.7和1.8的区别ThreadLocal 的问题ThreadLoca…

StarRocks获评「2022 中国开源社区健康案例」!

近日&#xff0c;OSCHINA 2022年度中国开源项目评选结果正式揭晓&#xff0c;StarRocks开源社区成功入选 OSCHINA “2022中国开源社区健康案例”&#xff01;开源社区健康指的是围绕一个开源项目形成的社区中关于项目的技术迭代、社区的组织架构、成员构成、开源治理、上下游协…

【手写 Vuex 源码】第十二篇 - Vuex 插件机制的实现

一&#xff0c;前言 上一篇&#xff0c;主要介绍了 Vuex 插件的开发&#xff0c;主要涉及以下几个点&#xff1a; Vuex 插件的使用介绍&#xff1b;Vuex 插件开发和使用分析&#xff1b;Vuex 插件机制的分析&#xff1b; 本篇&#xff0c;继续介绍 Vuex 插件机制的实现&…

moveToCoordinateF3DconcatenateRotations

moveToCoordinate 演示视频: 注意:前提是3~6轴机器人机构且不是PickAndPlace 该方法_3D。Poses.moveToCoordinate 移动由 指定的对象,该对象 对应于支持的机器人配置之一,只要标识的机器人配置支持,其第一个动画指向指定坐标和指定旋转。这无需您定义姿势即可工作。 工…

Python期末复习知识点大合集(期末不挂科版)

Python期末复习知识点大合集&#xff08;期末不挂科版&#xff09; 文章目录Python期末复习知识点大合集&#xff08;期末不挂科版&#xff09;一、输入及类型转换二、格式化输出&#xff1a;字符串的format方法三、流程控制四、随机数生成五、字符串六、序列索&#xff08;含字…

stm32f407探索者开发板(十五)——NVIC中断优先级管理

文章目录零、前言一、NVIC中断优先级分组1.1 中断的管理方法1.2 抢占优先级&相应优先级的区别1.3 举例1.4 特别说明1.5 中断优先级分组函数二、NVIC中断优先级设置2.1 中断设置相关寄存器2.2 中断设置优先级2.2.1 中断优先级控制的寄存器组 IP[240]2.2.2 中断使能寄存器组 …

TCP核心机制之连接管理详解(三次握手,四次挥手)

目录 前言&#xff1a; 建立连接 建立连接主要两个TCP状态&#xff1a; 断开连接 断开连接的两个重要状态 小结&#xff1a; 前言&#xff1a; TCP是如何建立对端连接&#xff0c;如何断开连接&#xff0c;这篇文章会详细介绍。 建立连接 首先明确连接的概念&#xff1a…

Docker系列之九巧用Nginx

前言 Nginx是个很棒的反向代理服务工具&#xff0c;之前我都是直接安装到服务器上去&#xff0c;过程繁琐也许不是难以接受&#xff0c;但是有更简单地Docker镜像服务&#xff0c;我自然没必要再次舍近求远。 一些配置是参考自我以前的文章Docker系列一安装Docker和Hexo历险记…

影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入

使用过NAS(Network Attached Storage)的朋友都知道&#xff0c;它可以通过局域网将本地硬盘转换为局域网内的“网盘”&#xff0c;简单理解就是搭建自己的“私有云”&#xff0c;但是硬件和网络成本都太高了&#xff0c;有点可望而不可及的意思。Alist开源库则可以满足我们&…