
解决VUE3 Vite打包后动态图片资源不显示问题
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
·
<script setup>
let url = ref('')
const setimg = (item)=>{
let src = `../assets/image/${e}.png`
url.value = src
}
</script>
<template>
<div v-for="item in 6">
<h1 @click="setimg(item)">{{ item }}</h1>
</div>
<img :src="url" alt="">
<img src="" alt="">
</template>
原因:Vite打包时不会打包以模板字符串包裹的图片相对路径,所以vite不知道此处要用哪个图片
方法一 将静态资源放到pbulic文件中
方法二 通过import 逐个导入图片资源
import one from '../assets/image/1.png'
import two from '../assets/image/2.png'
方法三 在函数中动态导入
const setimg = async (e)=>{
// 动态引入
console.log(e); //图片名
let src = await import(`../assets/image/${e}.png`);
url.value = src.default
}
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:3 个月前 )
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 5 个月前
e428d891
Updated Browser Compatibility reference. The previous currently returns HTTP 404. 6 个月前
更多推荐

所有评论(0)