VUE 打包之后,部分图片路径不对

打包生成之后的图片路径不对
//192.168.111.90/dist/static/css/static/img/downApp.254207f.png 404 (Not Found)

但是同一个页面,其它的图片能正常显示
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAYAAABNChwpAAAAAXNSR…TkDBgHvGSXgwZzJfbCy0ZGZBc+NP9OBMtJV7QVjSd2dvnjH0UTja314l9CAAAAAElFTkSuQmCC) no-repeat;

不知道什么问题?

阅读 9.9k
5 个回答

检查一下 webpack 配置,应该是使用url-loader,低于限制值大小的图片会被转化为 base64。大于限制值大小的图片,被编译到指定目录下,具体配置应该在类似 ./config/index.js 下,检查一下这个配置,这个是我的项目配置,具体根据你的项目配置而定。

clipboard.png

不是其他路径的对了,而是其他的图片转成base64了,你比对一下打包后的static和未打包的static文件夹位置

该图片是不是动态引入的 也就是在js或者在处理逻辑的时候中引入的?
如果是,请引入的时候这样写:

require("../assets/navBottom/gzt_icon_0.png"),

如果不这么写,你直接写../assets/navBottom/gzt_icon_0.png,它是不会把图片路径自动编译成base64了,但是你所有的源图片路径都被编译成base64了,所以自然就报404

图片描述

我是修改了webpack中在生成hash值时将hash值放到了图片后面

最后的方案是改了找到 build->utils.js,在里面加入一句publicPath:'../../',

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题