Поскольку он помечен тегом Vue.js, я отвечу за это. Ни один из других ответов не работал с Vue 2.x.
Для атрибутов
Оператор webpacker require
возвращает полный URL-адрес необходимого ресурса (разрешенный на основе вашего resolved_paths
внутри webpacker.yml
). Исходя из этого, вы можете сделать что-то вроде этого:
<img :src="require('images/what-a-pain.png')" alt="Finally working" />
Обратите внимание на двоеточие, обуславливающее привязку атрибута src
к результату выражения javascript.
Вы также можете использовать якоря идентификатора, добавив их, например, с помощью SVG:
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<use :href="require('images/icons.svg') + '#copy'" />
</svg>
Шаблоны Vue обычно предварительно скомпилированы в эквиваленты javascript, поэтому для извлечения ресурсов во время компиляции, а не во время выполнения необходим оператор require
.
Для CSS urls
, с ограничением или без
Просто используйте тильду ~
и путь. Путь должен быть относительным либо к файлу, который его включает, либо к resolved_paths
из webpacker.yml
.
.relative-pathed {
background: url(~../../../assets/images/quitethepath.svg) center center no-repeat;
}
.works-after-editing-webpackeryml {
background: url(~images/quitethepath.svg) center center no-repeat;
}
Для этого использования нет необходимости require()
актив.
Обратите внимание: существует разница в путях разработки и производства, особенно если также используются звездочки. Простое выполнение src="/assets/image.png"
иногда работает при разработке, но не в производстве.
person
adc
schedule
22.02.2019
vue-loader
на использованиеcss-loader
для обработки стилей шаблонов? - person bzeaman   schedule 13.08.2017