vue3 img图片怎么渲染

news/2024/7/9 23:42:43 标签: vue, 前端

在 Vue3 中加载图片(img)src地址时,出现无法加载问题。网上很多都建议使用 require 加载相对路径,如下:

 <img :src="require('../assets/img/icon.jpg')"/>

但是按照这种方式加载又会报错如下:

require is not defined

在这里插入图片描述
原因:

Vue3 的 vite 打包中没有 require,Vue低版本是支持require的。

这是因为Vue3早期的低版本采用的还是webpack打包工具。webpack里面是有require的,也是支持require的。

解决方案:

使用import解决,但是又不能直接用,需要使用到new URL,如下:

function targetUrl(name) {
  return new URL(`../${name}.png`, import.meta.url).href
}
<template>
  <div>
    <img v-for="route in routes" :src="targetUrl(route.icon)" :alt="route.name" />
  </div>
</template>

<script setup>
  const routes = ref([
	  { name: 'page1', icon: 'icon1' },
	  { name: 'page2', icon: 'icon2' },
  ]);
  
  function targetUrl(name) {
    return new URL(`../assets/img/${name}.png`, import.meta.url).href;
  }
};
</script>


http://www.niftyadmin.cn/n/5312079.html

相关文章

亚马逊实时 AI 编程助手 CodeWhisperer使用体验

文章目录 1&#xff1a;什么是CodeWhisperer &#xff1f;2&#xff1a;试用3&#xff1a;上手体验 1&#xff1a;什么是CodeWhisperer &#xff1f; 最近ChatGPT展现出强大AI能力给我们带来了深刻的影响&#xff0c;AI现在不是一个概念&#xff0c;基于AI的产品一定在各行各业…

软件测试|MySQL主键约束详解:保障数据完整性与性能优化

简介 主键&#xff08;PRIMARY KEY&#xff09;的完整称呼是“主键约束”&#xff0c;是 MySQL 中使用最为频繁的约束。一般情况下&#xff0c;为了便于 DBMS 更快的查找到表中的记录&#xff0c;都会在表中设置一个主键。 MySQL是一种广泛使用的开源关系型数据库管理系统&am…

设备树文件中设备节点的标准属性

一. 简介 前面几篇文章学习了 设备树文件编译&#xff0c;调用关系&#xff0c;以及设备节点。本文继续学习设备树文件的语法。 节点是由一堆的属性组成&#xff0c;节点都是具体的设备&#xff0c;不同的设备需要的属性不同&#xff0c;用户可以自定义属性。除了用户自定义属…

MR实战:网址去重

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建网址去重映射器类5、创建网址去重归并…

静态网页设计——美食杰官网(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 使用技术&#xff1a;HTMLCSSJS 主要内容&#xff1a;仿照美食杰官网 主要内容 1、首页 首页用html标签分割成多个区域&#xff0c;使用css设置样式&#xff0c;精准…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)HttpRequest模块 解析http请求协议

一、HTTP响应报文格式 HTTP/1.1 200 OK Bdpagetype: 1 Bdqid: 0xf3c9743300024ee4 Cache-Control: private Connection: keep-alive Content-Encoding: gzip Content-Type: text/html;charsetutf-8 Date: Fri, 26 Feb 2021 08:44:35 GMT Expires: Fri, 26 Feb 2021 08:44:35 GM…

【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS

Motūrus OS For 云端的简单、快速和安全的操作系统。目标是基于虚拟机的工作负载&#xff0c;如 Web服务、Serverless、边缘缓存等。 为什么有这个项目&#xff1f; 目前&#xff0c;大多数虚拟化生产环境工作负载都在运行Linux。虽然Linux具有许多先进功能&#xff0c;在许多…

webpack的性能优化(一)——分包优化

1.什么是分包&#xff1f;为什么要分包&#xff1f; 默认情况下&#xff0c;Webpack 会将所有代码构建成一个单独的包&#xff0c;这在小型项目通常不会有明显的性能问题&#xff0c;但伴随着项目的推进&#xff0c;包体积逐步增长可能会导致应用的响应耗时越来越长。归根结底这…