Использовать require()
При привязке к пути / имени файла проекта используйте require
:
require('@/assets/pictures/1.png');
Если вы используете пути и имена ресурсов проекта в Vue CLI, Webpack на самом деле переименовывает их при комплектации. Vue CLI спокойно позаботится об этом, если вы используете строковый путь для img src
в шаблоне . Но в любой другой ситуации вам нужно вручную использовать require
Webpack, чтобы дать правильный путь и имя файла во время выполнения.
- Примечание: Вы можете npm run build
, а затем проверьте папку dist
> img
, чтобы увидеть переименование для себя. -
Можно ли использовать переменную с require()
?
При использовании пути / имени переменной require
требуется некоторая помощь. Вы должны жестко закодировать хотя бы первую часть пути в виде строки.
const filename = '1.png';
require('@/assets/pictures/' + filename); // <-- The string is needed
const path = 'assets/pictures/1.png';
require('@/' + path); // <-- This is good enough too
const fullpath = '@/assets/pictures/1.png';
require(fullpath); // <-- No. Can't infer the path from a variable only
Подробнее в Vue Загрузчик Документы