uniapp 发布后原生img正常,image无法显示,img与uniapp image使用区别

问题描述:

需要在本地测试和发布后图片都能正常显示,线上是把项目放在了/web目录下,使用html img src="static/images/guideArrow.png"时都能正常显示,但使用uniapp image则不行,由于image兼容性比较好,所以想改成Image格式。

测试效果:

uniapp image src="static/images/guideArrow.png"在本地和服务器都是不能正常显示的,需要改成绝对路径src="/static/images/guideArrow.png"在本地才能正常显示,但是在发布到服务器后会少个/web,导致服务器显示不了图片。

img能正常显示的原因是src解析与uniapp image src不同,src开头带不带/都是代表绝对路径(相对于服务器根目录),但在uniapp image中,不带则代表相对路径(相对于当前路由目录)。img有个特点, 当使用绝对路径,服务器部署到/web时,它会在/web下找图片,但是uniapp image则不会,image使用绝对路径是直接在服务器的"/"找图片。

解决办法:

写一个url转换方法,根据不同环境加不同前缀。

复制代码
getImgUrl(url) {
   if (url) {
        return (process.env.NODE_ENV === 'production' ? '/web' : '') + url
    }
}

调用:

复制代码
<image
     :src="getImgUrl('/static/images/guideArrow.png')"
 ></image>
相关推荐
wflynn3 小时前
GitHub 日榜趋势速报 | 2026-10-29
开源·github
伊布拉西莫3 小时前
GitHub Actions 自动化发布指南
github·devops
是jin奥4 小时前
Claude Code + GitHub 自动化工作流整理
运维·自动化·github
qianx775 小时前
KiteNote: 结合MicrosoftToDo和Obsidian优势的日常笔记软件
github
用户466969256975 小时前
AI编码账单砍60%:这个84K星的小工具,一行命令装好
github
简创AIGC陶先生5 小时前
【直播切片工作台】第22章:素材下载与 URL 重写
github
KevinAshen675 小时前
用 Go 修复旧下载工具:从接口 403 到凭证截断的完整复盘
go·github
CHB5 小时前
别再问uni-app x蒸汽模式是否成熟了,已经有大量App案例上架应用商店了
uni-app
miofly5 小时前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
shandianchengzi6 小时前
【记录】LLM|ChatGPT连接Github并管理
chatgpt·github