vue3 快速入门 (三) : vue中的图片路径

news2024/11/15 12:24:55

1. 本文环境

  • Vue版本 : 3.4.29
  • Node.js版本 : v20.15.0
  • 系统 : Windows11 64位
  • IDE : VsCode

2. 加载图片路径的方式

以下是VUE3中一些常见的引用图片路径的方法:

2.1 public文件夹的方式

2.1.1 public文件夹是什么

在 Vue3 中,public文件夹用于存放静态资源,这些资源不会被 vite打包工具解析处理。在项目打包时,public目录下的资源会被直接复制到输出目录(通常是dist目录)。

2.1.2 使用public文件夹

因为放在public文件夹下的文件,打包的时候不会被重命名。
所以可以使用相对路径 /xxxx.后缀名 来访问该文件。

比如我们在项目根目录新建public文件夹,public文件夹里面有mytest.png,然后可以直接使用相对路径/public/mytest.png或直接使用/mytest.png来访问。

<img src="/public/mytest.png">
<!-- 等同于上面这个 -->
<img src="/mytest.png">

2.2 直接在模板中引用

2.2.1 @是什么

在 Vue3 中,@通常用作路径别名,代表项目的根目录下的src目录。
这样做的好处是在引入文件时,可以使用@来代替相对复杂的src目录路径,使代码更加简洁、易读,同时也避免了易错的相对路径问题。

vite.config.ts默认就有配置 @ 指向 src 目录

 resolve: {
   alias: {
     '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }

2.2.2 模板中引用

那么在 Vue 中,你可以直接使用相对路径或 @ 符号来引用图片。例如,如果你的图片位于 src/assets/images 目录下,并且你已经在 vue.config.js 或其他配置文件中设置了 @ 指向 src 目录,那么你可以这样引用图片:

<template>
  <img src="@/assets/images/your-image.png" alt="Your Image">
</template>

<script setup lang="ts">
</script>

4.3 在 <script setup> 中引用图片路径

虽然大多数情况下你会直接在模板中引用图片,但有时你可能需要在 <script setup> 中引用图片路径,比如为了动态绑定 src 属性。你可以使用 import 语句来引入图片,但请注意,Vue 不会自动处理这些 import 语句作为模块请求,因此你需要确保它们被正确解析为文件路径。

然而,Vue CLI 或 Vite 等现代前端工具链通常会配置 WebpackESBuild 等打包工具来解析这些 import 语句,并将其转换为适当的 URL。这意味着你可以像下面这样操作:

<script setup lang="ts">
import yourImagePath from '@/assets/images/your-image.png';

const imageSrc = yourImagePath; // 这里 imageSrc 将会是图片的编译后路径
</script>

<template>
  <img :src="imageSrc" alt="Your Image">
</template>

在 Vue 3 项目中,当使用默认配置时,vite打包工具 会将小于 4KB 的图片内联,以减少 HTTP 请求的数量。也就是说,小于 4KB 的图片会被打包到 JavaScript 代码中。(通常是以Base64编码的形式内联)

4.4 遇到报错

如果遇到报错 : TS2307: Cannot find module ‘@/assets/home/banner1.webp‘ or its corresponding type declarations.

在这里插入图片描述

说明env.d.ts里没有声明文件类型。 (新建的项目都默认有的),在env.d.ts里,我们把它加回去就行。

/// <reference types="vite/client" />

3. vue快速入门系列文章

vue3 快速入门 (一) : 环境配置与搭建
vue3 快速入门 (二) : 第一个Vue网页
vue3 快速入门 (三) : vue中的图片路径
Vue3 快速入门 (四) : 使用路由实现页面跳转

本文参考
老生常谈的vue项目中图片路径问题,你真的搞明白了吗?
前端开发攻略—三种方法解决Vue3图片动态引入问题

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

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

相关文章

绘制混淆矩阵热力图

Python绘制混淆矩阵热力图 用matplotlib绘制混淆矩阵&#xff0c;可以通过改变 imshow 函数中的 cmap 参数来修改颜色。cmap 参数接受一个 colormap 的名字&#xff0c;你可以选择许多不同的 colormap&#xff0c;例如 ‘viridis’, ‘plasma’, ‘inferno’, ‘magma’, ‘civ…

union的特性和大小端

一、union在c和c语言中的特性 1.共享内存空间&#xff1a;union的所有成员共享同一块内存空间。意味着在同一时刻&#xff0c;union 只能存储其成员 中的一个值。当你修改了union中的一个成员&#xff0c;那么其它成员的值也会被改变&#xff0c;因为它们实际上都是指向同一块…

Google Chrome 浏览器在链接上点右键的快捷键

如今&#xff0c;越来越多的软件都懒得设个快捷键&#xff0c;就算设置了连个下划线也懒得加了。 谷歌浏览器右键 > 链接另存为... 和 复制链接地址 的快捷键 (如图)

pycharm操作mysql数据库

1、创建测试数据库 use test;CREATE TABLE t_user ( id INT(11) NOT NULL AUTO_INCREMENT, userName VARCHAR(20) DEFAULT NULL, password VARCHAR(20) DEFAULT NULL, PRIMARY KEY (id)) ENGINEINNODB AUTO_INCREMENT2 DEFAULT CHARSETutf8;INSERT INTO t_user(id,userName,pas…

【HZHY-AI300G智能盒试用连载体验】在华为IoTDA平台上建立设备

目录 华为IoTDA平台 注册IoTDA实例 创建产品 添加设备 本文首发于&#xff1a;【HZHY-AI300G智能盒试用连载体验】 智能工业互联网网关 - 北京合众恒跃科技有限公司 - 电子技术论坛 - 广受欢迎的专业电子论坛! 在上一篇博文中介绍了如何在HZHY-AI300G智能盒创建南向设备&a…

【Linux 14】进程间通信概念

文章目录 &#x1f308; 一、进程间通信的目的&#x1f308; 二、进程间通信的理解&#x1f308; 三、进程间通信的分类 &#x1f308; 一、进程间通信的目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程资源共享&#xff1a;多个进程之间共享同样的资源。通…

过于复杂,复杂性越高,脆弱性也就越大。

现代计算架构的复杂性很容易让那些试图保护它们的网络安全从业者感到不知所措。 技术生产者和消费者必须做出彻底而根本的改变,以减轻当前和未来的网络威胁。 在过去 20 多年里,我们目睹了信息技术能力的爆炸式增长,渗透到了我们的个人和职业生活中。我们还看到,针对所有…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的马跳棋游戏(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

VSCode切换默认终端

我的VSCode默认终端为PowerShell&#xff0c;每次新建都会自动打开PowerShell。但是我想让每次都变为cmd&#xff0c;也就是Command Prompt 更改默认终端的操作方法如下&#xff1a; 键盘调出命令面板&#xff08;CtrlShiftP&#xff09;中,输入Terminal: Select Default Prof…

VBA技术资料MF177:数据验证时单值及多值的分别处理

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

Python遗传算法GA优化SVR支持向量回归、ANFIS自适应神经模糊推理系统预测证券指数ISE数据

全文链接&#xff1a;https://tecdat.cn/?p37060 本文旨在通过应用多种机器学习技术&#xff0c;对交易所的历史数据进行深入分析和预测。我们帮助客户使用了遗传算法GA优化的支持向量回归&#xff08;SVR&#xff09;、自适应神经模糊推理系统&#xff08;ANFIS&#xff09;…

全球价值链贸易核算matlab程序(TIVA与WWZ分解方法大全)以及区域表链接方法

数据来源&#xff1a;基础数据来源于世界银行、国家统计局时间范围&#xff1a;2007年数据范围&#xff1a;国家与行业层面样例数据&#xff1a; 包含内容&#xff1a; 全部数据下载链接&#xff1a;https://download.csdn.net/download/samLi0620/89567902

CAS乐观锁原理

1、什么是CAS&#xff1f; compare and swap也就是比较和交换&#xff0c;他是一条CPU的并发原语。 他在替换内存的某个位置的值时&#xff0c;首先查看内存中的值与预期值是否一致&#xff0c;如果一致&#xff0c;执行替换操作。 这个操作是一个原子性操作。 Java中基于Un…

学生选课表练习(面试题)

一、表结构&#xff1a; 学生表&#xff1a;Student&#xff08;编号sid&#xff0c;姓名sname&#xff0c;生日birthday&#xff0c;性别ssex&#xff0c;班级 classid) 课程表&#xff1a;Course&#xff08;课程编号cid&#xff0c;课程名称cname&#xff0c;教师编号tid&a…

《0基础》学习Python——第十九讲__爬虫/<2>

一、用get请求爬取一般网页 首先由上节课我们可以找到URL、请求方式、User-Agent以及content-type 即&#xff1a;在所在浏览器页面按下F12键&#xff0c;之后点击网路-刷新&#xff0c;找到第一条双击打开标头即可查看上述所有内容&#xff0c;将上述URL、User-Agent所对应的…

高考完的假期想学c语言 要注意那些问题?

在高考完的假期学习C语言是一个非常好的选择&#xff0c;可以为以后大学的专业学习打下坚实的基础。我收集制作一份C语言学习包&#xff0c;对于新手而言简直不要太棒&#xff0c;里面包括了新手各个时期的学习方向&#xff0c;包括了编程教学&#xff0c;数据处理&#xff0c;…

参考椭球体与坐标系|大地水准面|地理坐标系|投影坐标系|EPSG|SRID

相关概念之间的关系: 大地水准面 **大地水准面(Geoid)**是海洋表面在排除风力、潮汐等其他影响后&#xff0c;只考虑重力和地球自转影响下的形状&#xff0c;这个形状延伸过陆地生成的一个密闭的曲面。 简单来说&#xff1a;就是一个假想的由地球自由静止的海水平面&#xf…

最新matlab2024a安装教程

一、软件领取 领取方式&#xff1a; https://pan.baidu.com/s/1TeH5F7ilPQVeLc9S9eDmSQ?pwdqot6 二、安装步骤 1、右击下载好的安装包&#xff0c;选择解压缩。&#xff08;用电脑自带的解压功能或解压软件都可以&#xff0c;我这里用的电脑自带的&#xff09; 2、打开…

购物车案例(源码分享)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

3D建模软件--犀牛Rhino for Mac

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功 三、运行测试安装完成&#xff01;&#xff01;&#xff01; 效果 一、下载软件 下载软件…