Webpack && stylus-loader неправильно разрешает пути URL
Допустим, у меня естьhome.styl menu/ menu.styl image.svg
home.styl
требуется от точки входа или JS.
Затем:
home.styl
импортmenu/menu.styl
menu/menu.styl
имеетurl(image.svg)
.
Проблема в том, чтоimage.svg
не найден.
Он существует в той же папке, что иmenu.styl
, но не разрешено.
Загрузчики:loaders: [{ test: /\.styl$/, loader: 'style!css!stylus' }, { test: /\.(png|jpg|svg|ttf|eot|woff|woff2)$/, loader: 'file?name=[path][name].[ext]' }]
Ниже приведены мои идеи, почему это не удается. Надеюсь получить ответ, как это исправить.
===========
Еслиurl(image.svg)
требуется отmenu.styl
нужно искать в папке сmenu.styl
, Это потому, что путь является относительным по умолчанию.
Но происходит следующее:
Стилус-загрузчик обрабатывает всеstyl
, объединяет импорт в один большойcss
CSS-загрузчик получаетcss
с корневым контекстом, а именно каталогомhome.styl
Тогда CSS-загрузчик разрешил всеurl(...)
пути относительно этого верхнего контекста.Таким образом, изображение ищется в папкеhome.styl
вместоmenu.styl
.
Как это исправить?
Постскриптум Пример репо проекта наhttps://github.com/iliakan/stylus-path-problem