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>
相关推荐
海绵不是宝宝8176 小时前
连接远程服务器上的 jupyter notebook,解放本地电脑
服务器·jupyter·github
样子20188 小时前
Uniapp 之renderjs解决swiper+多个video卡顿问题
前端·javascript·css·uni-app·html
黑客飓风9 小时前
当GitHub宕机时,我们如何协作?
github·notepad++
fakaifa10 小时前
点大餐饮独立版系统源码v1.0.3+uniapp前端+搭建教程
小程序·uni-app·php·源码下载·点大餐饮·扫码点单
Bug改不动了13 小时前
React Native 与 UniApp 对比
react native·react.js·uni-app
mit6.82413 小时前
[Git] 如何拉取 GitHub 仓库的特定子目录
git·github
用户4665370150513 小时前
如何在 IntelliJ IDEA 中可视化压缩提交到生产分支
后端·github
用户4665370150513 小时前
git代码压缩合并
后端·github
若水晴空初如梦14 小时前
QT聊天项目DAY19
github
anyup15 小时前
🔥🔥 10 天 Star 破百!uView Pro 文档也开源啦:完全免费、无广告、高效上手
前端·vue.js·uni-app