问题描述:
在h5场景下IOS系统,刷新页面之后进入同一个tab页会白屏
问题排查过程:
1.排查自身代码问题,无异常代码
2.ios真机vconsole无法具体页面问题,开发工具无法复现
3.查找taro仓库issue,无相同情况发生
4.怀疑是版本问题,对版本升级与降级,皆有同样情况
5.结合taro官网描述,根据core.js版本不同,引入与否差异,导致代码打包后差异,进行多种情况调试,最后通过修改babel.config.js配置,dynamic-import-node为true的情况,在本地F12能复现此场景
module.exports = {
presets: [
[
"taro",
{
framework: "vue3",
ts: false,
// "dynamic-import-node":true, //添加这一句
},
],
],
};
6.经过反复调试排查,发现ios场景,在第一个tabbar页面会缺失样式taro_tabbar_page
const App = createApp({
onShow(options) {
setTimeout(() => {
const element = document.getElementById(`${options.path}?stamp=AA`);
//第一个页面的包裹元素
if (!element) return;
element.classList.add("taro_tabbar_page");
}, 1000);
},
});
7.发布测试,解决