vue3+vite:src使用require動態(tài)導(dǎo)入圖片報錯的最新解決方法
vue3+vite:src使用require動態(tài)導(dǎo)入圖片報錯和解決方法
vue3 + vite 動態(tài)的導(dǎo)入多張圖片
vue3 如果使用的是typescript開發(fā),就會出現(xiàn)require引入圖片報錯,require is not defined 不能像使用vue2 這樣imgUrl: require(’…/assets/test.png’) 導(dǎo)入,是因?yàn)閠ypescript不支持require
所以用import導(dǎo)入,下面介紹如何解決: 使用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遇到的問題,或許還有別的辦法解決圖片引入問題,還請各位指教~
補(bǔ)充:vue3+vite :src 用require引入絕度路徑報錯
最近的項(xiàng)目是vue3+vite,在使用require引用圖片路徑的時候就報錯 require is not defined,就很尷尬,因?yàn)閠ypescript不支持require所以之前直接用imgUrl: require(’…/assets/test.png’) 導(dǎo)入就會報錯需要用import導(dǎo)入,記錄一下解決方法:
第一種:使用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>
到此這篇關(guān)于vue3+vite :src 用require 動態(tài)導(dǎo)入圖片報錯和解決方法的文章就介紹到這了,更多相關(guān)vue3 vite導(dǎo)入圖片報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue router 組件的高級應(yīng)用實(shí)例代碼
這篇文章主要介紹了vue-router 組件的高級應(yīng)用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04Vue 讓元素抖動/擺動起來的實(shí)現(xiàn)代碼
這篇文章主要介紹了Vue 讓元素抖動/擺動起來的實(shí)現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Vue3源碼分析reactivity實(shí)現(xiàn)方法示例
這篇文章主要為大家介紹了Vue3源碼分析reactivity實(shí)現(xiàn)方法原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01el-select如何獲取下拉框選中l(wèi)abel和value的值
在開發(fā)業(yè)務(wù)場景中我們通常遇到一些奇怪的需求,例如el-select業(yè)務(wù)場景需要同時獲取我們選中的label跟 value,下面這篇文章主要給大家介紹了關(guān)于el-select如何獲取下拉框選中l(wèi)abel和value的值,需要的朋友可以參考下2022-10-10詳解vue項(xiàng)目優(yōu)化之按需加載組件-使用webpack require.ensure
本篇文章主要介紹了詳解vue項(xiàng)目優(yōu)化之按需加載組件-使用webpack require.ensure,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06vue使用mpegts.js實(shí)現(xiàn)播放flv的直播視頻流
這篇文章主要為大家詳細(xì)介紹了vue如何使用mpegts.js實(shí)現(xiàn)播放flv的直播視頻流,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下2024-01-01Vue props中Object和Array設(shè)置默認(rèn)值操作
這篇文章主要介紹了Vue props中Object和Array設(shè)置默認(rèn)值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07