最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3+vite動(dòng)態(tài)引入圖片方式

 更新時(shí)間:2023年06月05日 14:49:00   作者:shareloke  
這篇文章主要介紹了vue3+vite動(dòng)態(tài)引入圖片方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue3+vite動(dòng)態(tài)引入圖片

說(shuō)明

在vue2中可以使用require動(dòng)態(tài)引入圖片,但在開(kāi)發(fā)vue3+vite項(xiàng)目的時(shí)候想要?jiǎng)討B(tài)的去引入圖片來(lái)顯示,嘗試過(guò)require 發(fā)現(xiàn)報(bào)錯(cuò) require is not defind。

因?yàn)閞equire是webpack的方法,而vite是不支持require方法的,vite官網(wǎng):

服務(wù)時(shí)引入一個(gè)靜態(tài)資源會(huì)返回解析后的公共路徑:

import imgUrl from './img.png'
document.getElementById('hero-img').src = imgUrl

例如,imgUrl 在開(kāi)發(fā)時(shí)會(huì)是 /img.png,在生產(chǎn)構(gòu)建后會(huì)是 /assets/img.2d8efhg.png。

行為類似于 Webpack 的 file-loader。

區(qū)別在于導(dǎo)入既可以使用絕對(duì)公共路徑(基于開(kāi)發(fā)期間的項(xiàng)目根路徑),也可以使用相對(duì)路徑。

實(shí)現(xiàn)方式

方式一

比較笨的實(shí)現(xiàn)方法 使用 import()

const bgImage = ref<string>("");
const bgImageFunc = (url: string) =>
  import(url).then((res: any) => {
    bgImage.value = res.default;
  });
// 使用
bgImageFunc("../../assets/images/bg/bg.jpg");

方式二

使用vite官方提供的方式

/**
 * <p> 獲取加載圖片地址 </p>
 * examples: bg/bg.png
 * @param imgPath: string
 */
export const requireImg = (imgPath: string) => {
  return new URL(`../assets/images/${imgPath}`, import.meta.url).href;
};
// 使用
requireImg("bg/bg.png");

方式三

使用 import.meta.glob 提供的方法

/**
 * <p> 獲取加載圖片地址 </p>
 * examples: /src/assets/bg/bg.png
 * @param url: string
 *
 */
export const useFile = (url: string) => {
  const modules: Record<string, any> = import.meta.glob("@/assets/images/**/*.{png,svg,jpg,jpeg}", { eager: true });
  if (modules[url]) return modules[url].default;
  else {
    // 地址錯(cuò)誤
    console.log("Error url is wrong path");
  }
};
// 使用 必須是帶有/src 完整目錄
useFile("/src/assets/bg/bg.png");

以上三種方式可以任選一種即可

vue3使用vite2.0動(dòng)態(tài)引入本地圖片img

需求:

引入到j(luò)s中批量綁定在dom上,作圖標(biāo)進(jìn)行展示。

 

這樣就可以動(dòng)態(tài)引入了

第二種直接引入

import tyarticle_iconpe from '@/assets/images/home_icon/brochure_icon.png'

第三種可以直接在assets前面加一個(gè)src就能識(shí)別了

new URL(`/src/assets/images/home_icon/name_icon`, import.meta.url).href

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

新河县| 金华市| 尚志市| 共和县| 驻马店市| 黎平县| 龙井市| 建阳市| 南平市| 葫芦岛市| 丹巴县| 南木林县| 南汇区| 邮箱| 阜南县| 濉溪县| 泉州市| 嘉义县| 迁安市| 凤翔县| 泰安市| 隆尧县| 衡东县| 昌平区| 青田县| 临夏市| 新化县| 革吉县| 金寨县| 阿拉尔市| 广州市| 兴海县| 高陵县| 卢湾区| 会同县| 桑植县| 张家界市| 景宁| 建湖县| 鄂托克旗| 枝江市|