Это всегда сложная ситуация. В вашем случае вы можете решить эту проблему, наложив псевдоним f
на имя иконки и используя его на месте, конкатенируя по пути:
mimeTypeUrl(icon) {
return require(`~/assets/media/${icon}`);
}
И затем вызывая его с иконкой в качестве аргумента. :
:src="mimeTypeUrl('application-vnd-google-earth-kmz.png')"
Это работает, потому что веб-пакет создаст весь контекст для вашего каталога /assets/media
, который будет содержать ваш файл изображения.
Не рекомендуется
Вы можете реально обмануть веб-пакет, создав контекст для всего вашего проекта, добавив в свой путь пустую строку
mimeTypeUrl(icon) {
return require('' + '~/assets/media/application-vnd-google-earth-kmz.png');
}
Это нежелательно, поскольку это создаст контекст для всей структуры приложения. что увеличит размер пучка на измеримую величину. Это может также привести к непреднамеренным последствиям, вызывая загрязнение глобального контекста и приводя к тому, что псевдонимы разрешаются некорректно, если в именовании файлов и / или классов возникает коллизия.