vue3+vite:src使用require動態導入圖片報錯的最新解決方法
vue3+vite:src使用require動態導入圖片報錯和解決方法
vue3 + vite 動態的導入多張圖片
vue3 如果使用的是typescript開發,就會出現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 循環利用返回值請求本地圖片
<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>
第二種:循環利用返回值請求本地圖片
<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 動態導入圖片報錯和解決方法的文章就介紹到這瞭,更多相關vue3 vite導入圖片報錯內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vue3+TypeScript+Vite使用require動態引入圖片等靜態資源
- vue3常用的API使用簡介
- vue組合式API淺顯入門示例詳解
- Vue3如何理解ref toRef和toRefs的區別
- 詳解Vue3中setup函數的使用教程