本地运行正常的图片部署至Firebase Hosting后无法显示如何解决
问题核心原因
Firebase Hosting部署时会将项目中配置的public目录作为站点对外服务的根目录,线上环境的访问路径不需要包含public前缀。本地开发环境如果是从项目根目录启动服务,带public的路径可以正确命中本地文件,才会出现本地运行正常、部署后图片无法加载的情况。
解决步骤
- 统一修改所有图片引用路径,删除路径中的
public前缀,使用站点根绝对路径即可。例如将public/images/sule-makaroglu-PnUYkTFkOD0-unsplash.jpg修改为/images/sule-makaroglu-PnUYkTFkOD0-unsplash.jpg - 你代码中第三个图片的路径写法
/images/inspired-horizons-digital-marketing-I749-lKHHJ4-unsplash.jpg已经符合线上要求,若该图也无法加载,优先排查后续问题 - 确认
firebase.json中hosting配置的public字段指向的本地文件夹路径正确,且所有图片文件确实存放在该目录下的images子文件夹中 - 检查图片文件名的大小写是否和路径中的写法完全一致:Firebase Hosting对大小写敏感,本地Windows、macOS系统默认大小写不敏感的特性,也会导致本地加载正常、线上加载失败的问题
- 修改完成后重新部署即可,若存在缓存问题可清空浏览器缓存后再验证
验证方法
部署完成后直接在浏览器地址栏输入你的站点域名/images/对应图片文件名,如果可以正常加载图片即说明配置正确。
内容的提问来源于stack exchange,提问作者LM17
相关产品推荐
相关产品推荐

