vue3+vite:src使用require動態(tài)導入圖片報錯的最新解決方法
vue3+vite:src使用require動態(tài)導入圖片報錯和解決方法
vue3 + vite 動態(tài)的導入多張圖片
vue3 如果使用的是typescript開發(fā),就會出現(xiàn)require引入圖片報錯,require is not defined 不能像使用vue2 這樣imgUrl: require(’…/assets/test.png’) 導入,是因為typescript不支持require
所以用import導入,下面介紹如何解決: 使用await import(’@/assets/img/22.png’);
demo1.vue
<template>
<img :src="imgUrl" alt="">
</template>
<script>
import {ref, onMounted} from "vue";
export default {
name: "imgPage",
setup(){
onMounted(()=>{
handleImgSrc();
})
const imgUrl = ref('');
const handleImgSrc = async()=>{
let m = await import('@/assets/img/22.png');
imgUrl.value = m.default;
};
return{
imgUrl
}
}
}
</script>demo2.vue 循環(huán)利用返回值請求本地圖片
<template>
<img v-for="item in imgList" :src="getAssetsImages(item.url)" alt="">
</template>
<script>
import {ref, reactive, onMounted} from "vue";
export default {
name: "imgPage",
setup(){
const imgList = reactive([
{url: 'a.png'},{url: 'b.png'},{url: 'c.png'}
])
const getAssetsImages =(name)=> {
return new URL(`/src/assets/pic/${name}`, import.meta.url).href; //本地文件路徑
}
return{
imgList ,
getAssetsImages
}
}
}
</script>記錄一下使用vue3遇到的問題,或許還有別的辦法解決圖片引入問題,還請各位指教~
補充:vue3+vite :src 用require引入絕度路徑報錯
最近的項目是vue3+vite,在使用require引用圖片路徑的時候就報錯 require is not defined,就很尷尬,因為typescript不支持require所以之前直接用imgUrl: require(’…/assets/test.png’) 導入就會報錯需要用import導入,記錄一下解決方法:
第一種:使用await import(’@/assets/img/22.png’);
<template>
? ? <img :src="imgUrl" alt="">
</template>
?
<script>
? ? import {ref, onMounted} from "vue";
? ? export default {
? ? ? ? name: "imgPage",
? ? ? ? setup(){
? ? ? ? ? ? onMounted(()=>{
? ? ? ? ? ? ? ? handleImgSrc();
? ? ? ? ? ? })
? ? ? ? ? ? const imgUrl = ref('');
? ? ? ? ? ? const handleImgSrc = async()=>{
? ? ? ? ? ? ? ? let m = await import('@/assets/img/22.png');
? ? ? ? ? ? ? ? imgUrl.value = m.default;
? ? ? ? ? ? };
? ? ? ? ? ? return{
? ? ? ? ? ? ? ? imgUrl
? ? ? ? ? ? }
? ? ? ? }
? ? }
</script>第二種:循環(huán)利用返回值請求本地圖片
<template>
? ? <img ?v-for="item in imgList" :src="getAssetsImages(item.url)" alt="">
</template>
?
<script>
? ? import {ref, reactive, onMounted} from "vue";
? ? export default {
? ? ? ? name: "imgPage",
? ? ? ? setup(){
? ? ? ??
? ? ? ??? ??? ?const imgList = reactive([
?? ??? ??? ??? ?{url: 'a.png'},{url: 'b.png'},{url: 'c.png'}
?? ??? ??? ?])
? ? ? ? ? ? ?const getAssetsImages =(name)=> {
?? ??? ? ? ? ?return new URL(`/src/assets/pic/${name}`, import.meta.url).href; //本地文件路徑
?? ??? ? ?? ? }
?
? ? ? ? ? ? return{
? ? ? ? ? ? ?? ?imgList ,
? ? ? ? ? ? ? ? getAssetsImages?
? ? ? ? ? ? }
? ? ? ? }
? ? }
</script>到此這篇關于vue3+vite :src 用require 動態(tài)導入圖片報錯和解決方法的文章就介紹到這了,更多相關vue3 vite導入圖片報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue3源碼分析reactivity實現(xiàn)方法示例
這篇文章主要為大家介紹了Vue3源碼分析reactivity實現(xiàn)方法原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
el-select如何獲取下拉框選中l(wèi)abel和value的值
在開發(fā)業(yè)務場景中我們通常遇到一些奇怪的需求,例如el-select業(yè)務場景需要同時獲取我們選中的label跟 value,下面這篇文章主要給大家介紹了關于el-select如何獲取下拉框選中l(wèi)abel和value的值,需要的朋友可以參考下2022-10-10
詳解vue項目優(yōu)化之按需加載組件-使用webpack require.ensure
本篇文章主要介紹了詳解vue項目優(yōu)化之按需加載組件-使用webpack require.ensure,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
vue使用mpegts.js實現(xiàn)播放flv的直播視頻流
這篇文章主要為大家詳細介紹了vue如何使用mpegts.js實現(xiàn)播放flv的直播視頻流,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下2024-01-01

