Как вы заставляете Webpack игнорировать ошибки в разрешении URL в процессе сборки?
Моя структура каталогов выглядит следующим образом:
example/
├── css/
│ ├── styles.css
├── img/
│ ├── background.jpg
└── src/
├── scss/
│ ├── app.scss
└── app.js
Когда я указываю абсолютный URL для фонового изображения в app.scss
, такие как background-image: url("/img/background.jpg");
, это будет работать просто отлично.
Однако, если я укажу относительный URL, такой как background-image: url("../img/background.jpg");
, процесс сборки не удастся.
Есть ли способ заставить Webpack игнорировать такие ошибки?
Если бы просто приступить к созданию моего styles.css
файл, он, конечно, будет правильно загружать фон через относительный URL, но я просто не могу получить это так далеко.
Важно решить эту проблему, потому что в противном случае вы вынуждены развертывать веб-сайты в рут-корне и не можете использовать подкаталоги, поскольку абсолютный URL-адрес может нарушиться при работе.
Спасибо за вашу помощь.
1 ответ
Не имеет смысла игнорировать ошибки разрешения файлов в веб-пакете, и я не думаю, что есть способ сделать это.
но из структуры вашего приложения относительный путь должен ../../img/background.jpg
Обновить:
извините, я ошибся с самого начала, я смог воспроизвести вашу проблему с sass и sass-loader
Оказалось, что это общая проблема, и есть раздел для этого в sass-loader
и они упомянули 2 решения:
Добавьте отсутствующую перезапись URL-адреса с помощью resol-url-loader. Поместите его перед sass-loader в цепочке загрузчиков.
Авторы библиотеки обычно предоставляют переменную для изменения пути ресурса. Например, у bootstrap-sass есть $icon-font-path