目前在对接客户技术支持上,发现反馈页面白屏的问题是最多的。我们经过排查,发现白屏问题往往都是由客户自己的代码引起的。
常见的原因可分为以下几种:
1.编译后的 app.native.js 文件大小不对
2.class
用法不恰当
如以下写法<div :class="item.buy=='20'?'desc':''"></div>
:class
要求是数组,需要加个[]
不然会报以下错误TypeError: second argument to Function.prototype.apply must be an Array-like object (evaluating 'u.push.apply(u, o.class)')
3.页面写了不支持的样式语法
jsnative环境和web环境有一些非常明显的差异,需要在开发过程中尽量规避,否则会造成应用无法启动、页面白屏或者页面报错的问题,具体标准参考 jsn开发注意事项 。
4.jsn项目以H5页面的形式访问,如index.html#/index
解决方法:app.js中在应用启动的时候改变rem的计算模式,默认值为document,设置为screen时可以兼容移动端h5页面,此时deviceWidth的值等同于window.screen.width,从而计算出正确的rem值。
Light.start({
remMode:"screen"
})
5.lightview的调试模式未关闭
lightview的调试模式如果忘记关闭了,直接去预览其他的工程也会白屏。
6.使用了离线包, 但网络不通
如果页面中使用了离线包,但是在本地却没有预置离线包,在网络比较差的情况下会出现白屏。