让我说我有
home.styl
menu/
menu.styl
image.svg
home.styl
。
然后:
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
,即home.styl
目录url(...)
路径。因此,在home.styl
而不是menu.styl
的文件夹中搜索图像。
如何解决这个问题?
P.S。示例项目仓库位于https://github.com/iliakan/stylus-path-problem
答案 0 :(得分:8)
您希望使用stylus-loader
的{{1}}选项,该选项将使用自定义解析程序替换resolve url
文件中的url()
函数。
.styl
见the corresponding code。很酷的解决方案。