Webpack的css-loader中,图片路径需要保持相对于样式表(stylesheet)位置未变。

8

我希望所有图像都相对于本地样式表。如果我添加root=.,它会被添加到url(/path/)的前面,那么我需要添加一个文件加载器,而路径仍然是错误的。

如果我直接在CSS中写相对路径,则还需要使用文件加载器。 如果我在CSS中写非相对路径,则CSS路径不会改变,但无法加载图像,因为它们必须与样式表位置相关,没有其他方式可以让它们正确加载。 我还使用ExtractTextPlugin将CSS分离成单独的文件,但路径仍然是错误的,无论是否使用ExtractTextPlugin。

1个回答

12

我搞定了。需要在file-loader中添加?name=[path][name].[ext]。

{ test: /\.jpg$/, loader: "file-loader?name=[path][name].[ext]" }

2
请问您能否发布您的webpack配置?我也遇到了类似的情况,需要查看配置文件中的相关选项以使其正常工作。谢谢 :) - redhead
它对我起作用了,但我不知道为什么。webpack就像黑魔法一样神奇! 我还使用了绝对公共路径: output: { path: APP, filename: 'bundle.js', publicPath: '/shop' } - cnlevy
@Andreas - 你在 CSS 文件中传递了什么? - Monkviper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接