Задать вопрос
Anubis
@Anubis
Люблю корейскую кухню и веб-разработку

Как подружить css-loader с modules: true и импорт url в стилевых файлах?

Ошибка воспроизводится одинаково с less-loader и postcss-loader. Если в опциях css-loader включаю modules: true, то сборщик не видит содержимое относительных url(...) в стилевых файлах. background: url('kitty.jpg') и url('./kitty.jpg') выдают ошибку:
Module not found: Error: Can't resolve 'kitty.jpg' in '/Users/anubis/Projects/Kooler/src/client/engine/components'

Но если указать url('../components/kitty.jpg'), то есть сперва перейти на уровень выше, затем вернуться в папку и указать файл — всё работает. Также работает импорт, если добавить обратный слэш вначале: url('\./kitty.jpg') Не хочется по всему проекту развешивать такие костыли, но и отказываться от удобной фичи css modules тоже не хочется.
Загуглить решение пока не удалось, может быть кто-то из коллег уже сталкивался с ситуацией и сможет подсказать решение.
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • Бруноям
    Вёрстка на HTML и CSS
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
Anubis
@Anubis Автор вопроса
Люблю корейскую кухню и веб-разработку
Мне помогло добавление resolve-url-loader перед postcss-loader/less-loader
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы