Ты же понимаешь, что вот это вот {src: require('@/assets/file/1.jpg')}
происходит на этапе сборки и в код попадает уже что-то типа:{src: '/img/1.fd5gdf.jpg'}
или там {src: 'data:image/jpeg;base64,...'}
(точнее в что-то типа, {src: a("18c2")}
, которое возвращает уже соответственно '/img/1.fd5gdf.jpg'
или 'data:image/jpeg;base64,...'
, т.е. результат обработки require('@/assets/file/1.jpg')
)
Переменная test
же становится действительна только во время исполнения.
Можно использовать частичные пути вида {src: require(`@/assets/file/${test}.jpg`)}
, но никакой магии тут всё равно нет: в таких случаях webpack просто обрабатывает require для всех файлов по маске @/assets/file/*.jpg
(что может сильно раздуть размер бандла если в папке много лишнего мусора) и заменяет require(`@/assets/file/${test}.jpg`)
на соответствующую условную конструкцию с применением переменной test
.
Делая же так: {src: require(test)}
ты не даёшь webpack'у даже намёка, на то что бы там следовало грузить и откуда.