有时候开发微信的时候使用模拟器开发没问题,但是打包体验版,到了部分真机里面会出现白屏现象,打开调试会发现里面报错 framework inner error 之类的错误,如下所示(不是所有手机都会复现哈,目前ios端出现了这个问题)
这类错误是怎么来的呢,经过调查时,如果不是自身组件写的有问题,大概率就是引用依赖组件的时候出现问题了,你可能是这么写的
js
//错误写法 usingComponents在后
{
"navigationStyle": "custom",
......一系列导航信息
"usingComponents": {
"van-checkbox": "@vant/weapp/checkbox/index"
}
}
只需要将依赖组件提前即可
js
//正确写法 usingComponents在前
{
"usingComponents": {
"van-checkbox": "@vant/weapp/checkbox/index"
},
"navigationStyle": "custom",
......一系列导航信息
}
那可能有人会问,为什么我平常写那么多都碰不到,怎么你碰到了呢,只能说本人天赋异禀哈😂
上面开个玩笑,实际场景是这样的:
项目客户要求一个登录页,但是背景图片就要求原图,单张图片达到了惊人的1.8M
,没办法确实能做到,但不能说做不到吧(毕竟微信的所有单个包限制2M大小不少人都知道),为了保证主包能够正常使用,就只能把他放入到分包中了,那么放入分包中问题来了,上面问题就是放入分包中后出现的
,具体原意不明,只能说微信还依赖配置顺序了(只能说这类问题能出现,微信太不走心了,也可能是懒加载引起的)
那么为什么平时我们使用主包的时候,就没事呢,可能平时我们主包中习惯中将用到的组件声明到 app.json
的原因吧,这类可能微信提前处理了,如果涉及到加载组件之类的话题(例如:懒加载)
的(哪个页面用,哪个页面现引用组件加载,那么就更需要额外注意顺序了)
好了就说到这里了,如果恰好你遇到了这个问题,恭喜你要解决了,没有也可以预防哈😂