webpack单独提取css,url-loader生成图片的路径正确,css中图片的路径不正确

martinko2009
  • 26

我在js中使用require("layer-dialog/src/skin/layer.css");引用css,该css中引用了layer-dialog/src/skin/default/icon.png,然后我在webpack.config.js中做了如下配置:

{
    test: /\.(png|jpg|gif|svg)$/,
    loader: 'url',
    query: {
        limit: 15000,
        name: 'imgs/[name].[ext]?[hash:7]'
    }
}

编译后图片正确的生成在了指定的路径上,但是css的路径不对,
文件生成的实际的路径是D:\demo\imgs\node_modules\layer-dialog\src\skin\default\icon.png
但是css中图片的路径变成了是/imgs/node_moduleslayer-dialogsrcskindefaulticon.png
没有了路径的斜杠“/”

所以很头疼不知道怎么解决。

补充:
我后来看了打包后的js文件,里面路径是这样的:

"imgs/node_modules\\\\layer-dialog\\\\src\\\\skin\\\\default\\\\icon.png?551539f"
回复
阅读 5.4k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏