第一种 引入图片赋值 (适用于单个资源文件)

1、import screen from '@/assets/images/screen.png'

2、使用

<img :src="screen" />

第二种方式(适用于多个资源文件,动态传入文件路径)
1、在src目录下创建一个util文件夹,文件夹里创建一个utils.ts文件
获取assets静态资源

const getAssetsFile = (url: string) => {
  return new URL(`../assets/images/${url}`, import.meta.url).href;
};
export default {
  getAssetsFile,
};

2、在vue文件中导入

 import util from 'src/util/utils'

3、使用方式

 <img class="bg-img" :src="util.getAssetsFile('bg.png')" alt="">

第三种方式(适用于多个资源文件,这种方式引入的文件必须指定到具体文件夹路径,传入的变量中只能为文件名,不能包含文件路径)
1、例如在assets/images文件下还有一个home文件夹
获取assets静态资源

const getAssetsFile = (url: string) => {
  const path = `../assets/images/home/${url}`;
  const modules = import.meta.glob("../assets/images/home/*");
  return modules[path].default;
};

export default {
  getAssetsFile,
};

2、引入

import util from 'src/util/utils'

3、使用

<img class="bg-img" :src="util.getAssetsFile('bg.png')" alt="">

最后一种:如果是背景图片引入的方式(一定要使用相对路径)

.home{
  background-image: url('../../assets/images/bg.png');
}

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐