“@/assets”是vue-cli脚手架中默认的图片路径。使用这个路径可以让开发者更方便地引用本地图片资源。但有时会遇到在使用“@/assets”路径时报错的问题,这通常是由于路径引用错误或图片资源不存在导致的。以下是解决这个问题的完整攻略:
错误现象
当使用“@/assets”路径引用本地图片资源时,会报“Module not found”错误,如下所示:
Failed to compile.
./src/components/HelloWorld.vue
Module not found: Error: Can't resolve '@/assets/imgs/logo.png' in 'D:\Projects\project1\src\components'
解决方案
- 确认文件路径
在使用“@/assets”路径时,确保文件路径正确,避免出现引用错误的情况。例如,如果要引用“logo.png”文件,需要将该文件存放在“src/assets/imgs”目录下,确保路径为“@/assets/imgs/logo.png”。
- 检查文件名称和后缀
确保要引用的图片文件名称和后缀都正确,避免出现引用错误的情况。例如,如果要引用“logo.png”文件,需要确保该文件名称和后缀都正确。
示例解释
示例一
在使用“@/assets”路径时,如果文件路径不正确,就会出现无法找到资源的错误。例如,以下代码会报错:
<template>
<img :src="'@/assets/imgs/logo.png'" alt="logo">
</template>
若“logo.png”文件存放在“src/assets/images”目录下,则正确的路径应为“@/assets/images/logo.png”。修改代码如下:
<template>
<img :src="'@/assets/images/logo.png'" alt="logo">
</template>
示例二
当使用“@/assets”路径引用图片时,如果图片的名称或后缀不正确,也会出现资源无法找到的错误。例如,以下代码会报错:
<template>
<img :src="'@/assets/imgs/logo.jpeg'" alt="logo">
</template>
由于“logo.jpeg”文件不存在,因此会报错。若要引用“logo.png”文件,正确的代码如下:
<template>
<img :src="'@/assets/imgs/logo.png'" alt="logo">
</template>