uniApp,开发App,引用图片后,真机测试预览错误

uniapp是一个国产的基于vue的前端跨平台框架,他可以做到一套代码,多平台共用。但是在image这个组件上确实有一些问题。

官方文档上,他是这样描述的

在真机上测试,这个问题的表现就是报错弹窗 预览错误---URL is not definde

但我们总不能真的那绝对路径去导入图片吧,这在维护的时候是一件非常麻烦的事。于是我开始了奇思妙想:

既然你走路径可能会找不到,那我不给你路径了,我给你base64编码你总不会丢了吧,恰好image组件的src属性是支持base64的。

于是乎,来吧,先把图片转base64,然后把他们存储到json文件里去。(我这里只是给大概意思,此base64并不完整,完整的太多了,哈哈哈哈)。

{
    "logo1":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAIABJRErkJggg=="
}

然后,让我们的页面在加载的时候去拿对应的json就可以了,我这里用的是require简单一点,但如果你的Json文件比较大最好还是通过axios的方式去获取哦。

<image :logoImg="logo1" style="width: 50px;height: 50px;display: inline-flex;"/>
var logoImg=require('你的json文件地址,包括文件后缀啊').logo1

最后,开机测试,真机无bug完美运行,那预览错误的提示终于消失了。

一个另类的解决方法,哈哈哈哈,希望对你有所帮助。

猜你喜欢

转载自blog.csdn.net/weixin_43604220/article/details/129753083