Как импортировать библиотеку SCSS с активами в приложение Angular? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть библиотека SCSS, упакованная как модуль npm, она имеет следующую структуру:

./index.scss
./partials/_foo.scss
./assets/foo.svg

И _foo.scss содержит относительный путь к изображению:

.foo {
  background-image: url('../assets/foo.svg');
}

Когда я импортирую файл index.scss в мое приложение Angular style.scss, я получаю ошибку компиляции, потому что компилятор не может разрешить путь к изображению по какой-то причине, однако, путь правильный (относительнооригинальный файл SCSS).

  1. Есть ли способ помочь Angular правильно разрешать такие изображения?
  2. Есть ли способ как-то улучшить библиотеку, чтобы упростить ее использование вAngular?

Я знаю, что могу использовать переменную, чтобы указать базовый путь в библиотеке, а затем переопределить его в проекте, куда я его импортирую, но я скорее не буду делать это так, потому чтоон добавляет больше беспорядка в саму библиотеку и требует, чтобы конечный разработчик переопределил переменную, чтобы использовать библиотеку.

1 Ответ

0 голосов
/ 24 мая 2018

Если вы используете url('~nameofnodemodule/assets/foo.svg'), веб-пакет сможет найти его.

...