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>
相关推荐
逛逛GitHub9 小时前
面壁智能开源了支持音色设计、克隆、30语言+9 种方言的语音大模型
github
小领航9 小时前
用 Three.js + Vue 3 打造炫酷的 3D 行政地图可视化组件
前端·github
李同学Lino9 小时前
别再让Agent瞎写屎山代码了!带你用Superpowers重塑Vibe Coding体验(附保姆级教程)
github
HashTang10 小时前
用自然语言驱动的开源 3D 建筑设计编辑器-Aedifex
前端·github·ai编程
星渊澈11 小时前
从github上git clone 比较慢,如何解决。。
git·github
陪我去看海13 小时前
JueJin-MCP:让AI帮你一键发布掘金文章
github
AI成长日志15 小时前
【GitHub开源项目】推理优化技术栈全览:从PyTorch到专用引擎
pytorch·开源·github
软希网分享源码15 小时前
中英双语言量化交易投资源码/跟单搬砖区块链交易所源码/前端uniapp纯源码+后端
前端·uni-app·区块链·中英双语言量化交易投资源码
中科三方15 小时前
完整指南:域名解析暂停是什么意思,如何恢复正常解析?
github
小成Coder15 小时前
UniApp 如何调用鸿蒙预加载
uni-app·harmonyos·鸿蒙