Vue3 动态引入图片: require is not defined报错

问题:在 Vue3 项目中,使用 require 引入图片,报错 require is not defined

原因: Vue3 使用的是 vite,而 require 是 Webpack 的方法。

官网说明

解决代码:

javascript 复制代码
<template>
	<div v-for="(item, index) in list" class="list-item">
		<img :src="getAssetURL(item)" alt=""> 
	</div>
</template>

<script setup>
  import { ref } from 'vue'
  const list = ref([
    {
      sex: '男',
      name: '张小白',
      type: '成人'
    },
    {
      sex: '女',
      name: '张小白',
      type: '成人'
    }
  ])

  const getAssetURL = (image) => {
    // 参数一: 相对路径   参数二: 当前路径的URL
    return new URL(`/src/assets/头像${image.type}${image.sex}.png`, import.meta.url).href
  }
</script>
相关推荐
林恒smileZAZ13 小时前
Vue<前端页面版本检测>
前端·javascript·vue.js
码事漫谈16 小时前
当AI开始“思考”:我们是否真的准备好了?
前端·后端
许杰小刀16 小时前
ctfshow-web文件包含(web78-web86)
android·前端·android studio
我是Superman丶17 小时前
Element UI 表格某行突出悬浮效果
前端·javascript·vue.js
恋猫de小郭17 小时前
你的代理归我了:AI 大模型恶意中间人攻击,钱包都被转走了
前端·人工智能·ai编程
xiaokuangren_17 小时前
前端css颜色
前端·css
hoiii18718 小时前
C# 基于 LumiSoft 实现 SIP 客户端方案
前端·c#
anOnion18 小时前
构建无障碍组件之Meter Pattern
前端·html·交互设计
小码哥_常18 小时前
Spring Boot配置diff:解锁配置管理新姿势
前端
小码哥_常18 小时前
告别onActivityResult!Android数据回传的3大痛点与终极解决方案
前端