Я работаю над проектом Vue, сгенерированным с помощью Vue cli 3. Я хотел бы использовать разных поставщиков в одной и той же базе кода.
Мне нужно что-то, что может загружать разные изображения / стилизацию на основена переменную.Например, что-то вроде:
<!-- In HTML templates -->
<img :src="`@/assets/vendor_name_here/banner.jpg`" />
/* In SCSS */
@import "assets/vendor_name_here/style/bootstrap";
Где vendor_name_here
- это переменная, которая может быть установлена в среде.Обратите внимание, что вышеперечисленное не работает.
Исходя из углового фона, чего-то похожего можно достичь, просто добавив приложение или проект в конфигурацию.Тем не менее, в документации Vue нет такого документа (о том, что я мог найти).
Так есть ли что-то подобное в Vue?
Обновление:
Я только что узнал, что для изображений HTML работает следующее:
<img :src="require(`@/assets/${VUE_APP_VENDOR}/banner-large.jpg`)" />
Итак, вопрос по-прежнему открыт для файлов SCSS.
Обновление 2:
Так что, очевидноэтот же метод работает и для файлов SCSS.Я добавил следующее в свой блок скриптов:
require(`./assets/${process.env.VUE_APP_VENDOR}/style/bootstrap.scss`);
И теперь это работает:).