当前位置:   article > 正文

Vite中不能使用require,该怎么动态获取静态图片资源?_vite new url

vite new url

之前有些过一篇vite中不能使用require的问题:关于Vite不能使用require问题

也写过一篇Vue3中引入图片:Vue3加载本地assets图片 

大家有兴趣可以去看下,主要就是介绍了安装第三方插件可以在项目中使用require和vue3引入图片。

这篇主要是跟大家分享下还有其他的方式

import 

首先当然是可以使用import引入的 

  1. <template>
  2. <div>欢迎页</div>
  3. <img :src="myImg" alt="">
  4. </template>
  5. <script setup lang="ts">
  6. import assetsImg from '@/assets/logo.png'
  7. const myImg: string = assetsImg
  8. </script>

这种方式自然是没问题 

new URL(url, import.meta.url)

另外一种就是vite给我们提供的 new URL(url, import.meta.url)

中文网:https://vitejs.cn/guide/assets.html#the-public-directory 

我们可以在@/utils/index.ts中向外暴露一个方法,拱外界使用 

@/utils/index.ts 

  1. /**
  2. * 获取静态图片资源
  3. * @param name
  4. * @returns
  5. */
  6. export const getImageUrl = (name: string): string => new URL(`../${ name }`, import.meta.url).href

然后组件中使用: 

  1. <template>
  2. <img :src="myImg" alt="">
  3. </template>
  4. <script setup lang="ts">
  5. import { getImageUrl } from '@/utils'
  6. const str = 'assets/logo.png'
  7. const myImg: string = getImageUrl(str)
  8. </script>
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/86431
推荐阅读
相关标签
  

闽ICP备14008679号