Краткий ответ
Поместите все свои изображения в каталог assets
(или подкаталог). Сохраните только имя файла в вашем JSON как image_url: "c5Cor.png"
и покажите его как:
<img :src="require('@/assets/' + prize.image_url)" />
Другие комментарии
Webpack связывает папку assets , которая переименовывает пути / имена файлов содержимого. Вот почему require
необходим - при привязке src
к переменной - чтобы получить правильный путь во время выполнения.
Когда вы говорите клиент / сервер, вы можете иметь в виду фронтэнд / бэкэнд. Они отличаются тем, что ресурсы как внешнего, так и внутреннего интерфейса обслуживаются с сервера. Например, это утверждение «Изображение хранится на стороне клиента»: если вы не сохранили изображение в localStorage
, indexedDB
и т. Д. c, неточно. Хранение изображений в каталоге Vue assets
является серверным интерфейсом. База данных будет серверной серверной частью.
Так что, если вы не намереваетесь спросить о хранении изображений в localStorage
, лучше сформулировать фразу: «Должен ли я хранить изображения в базе данных или в виде файлов?». На типичном веб-сайте вы должны хранить изображения в виде файлов и хранить только имена файлов в вашей базе данных. (Можно хранить двоичные данные необработанных изображений в базе данных - большой двоичный объект - и есть некоторые споры о том, когда это хорошая идея, но это, вероятно, статистически редко на типичных веб-сайтах.) Это проще хранить их как файлы.