Vue CLI-включить изображение из папки assets в статический файл
можно ли включить изображение, которое находится в assets/
фодер, в какой-то статике , как background-image
?
у меня есть _buttons.scss
частичные и некоторые кнопки имеют значок, который я хотел бы добавить как background-image
. Значки расположены в src/assets/
фодэр.
приложение структуру:
- src
- assets
some_icon.svg
- components
- scss
_buttons.scss
main.scss
- views
App.vue
main.js
router.js
и _buttons.scss
:
.some-selector {
background-image: url(../assets/some_icon.svg)
/* also tried
background-image: url(./assets/some_icon.svg)
background-image: url(/assets/some_icon.svg)
background-image: url(assets/some_icon.svg)
*/
}
, который возвращает ошибку с This relative module was not found
.
Я знаю, что могу просто добавить эти стили (область или нет) в мой компонент или в главном приложении.vue, однако, мне было интересно, может ли это быть достигнуто без этого?
Я знаю также, что я могу добавить эти иконки в моем public
папка, но я хотел бы, чтобы значки оставались в .
$ vue -V
$ 3.0.0-rc.5
может быть, некоторые пользовательские конфигурации webpack?
спасибо
1 ответов
Вы можете управлять, что :
background-image: url('~@/assets/some_icon.svg');
ключ здесь использует ~@
как preffix. URL-адреса с префиксом ~ рассматриваются как запрос модуля. Вам нужно использовать этот префикс, если вы хотите использовать конфигурации разрешения модуля Webpack. Например, если у вас есть псевдоним разрешения для папки src, равный@, что вы делаете при использовании vue-cli3, вы можете использовать этот тип URL, чтобы заставить Webpack разрешить необходимый актив в папке assets. Подробнее здесь :
обработка статических активы